武器跟随旋转及对称[unity2d]
时间:2020-03-10 发布者: 访问量:3133
武器跟随旋转及对称
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Weapon : MonoBehaviour { private void FixedUpdate() { // 获取鼠标坐标并转换成世界坐标 Vector3 m_mousePosition = Input.mousePosition; m_mousePosition = Camera.main.ScreenToWorldPoint(m_mousePosition); // 因为是2D,用不到z轴。使将z轴的值为0,这样鼠标的坐标就在(x,y)平面上了 m_mousePosition.z = 0; // 武器朝向角度 float m_weaponAngle = Vector2.Angle(m_mousePosition - this.transform.position, Vector2.up); if(transform.position.x < m_mousePosition.x) { m_weaponAngle = -m_weaponAngle; } //判断武器正反 if(m_weaponAngle>0 && transform.localScale.x>0) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } else if(m_weaponAngle < 0 && transform.localScale.x < 0) { transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z); } // 变换最终角度 transform.eulerAngles = new Vector3(0, 0, m_weaponAngle); } }
相关信息
用户评论
猜你喜欢
生活励志
生活文摘
生活福利
生活编程