版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010889653/article/details/79425953
using UnityEngine;
public class GunFollow : MonoBehaviour
{
public RectTransform UGUICanvas;
public Camera mainCamera;
void Update()
{
Vector3 mousePos;
RectTransformUtility.ScreenPointToWorldPointInRectangle(UGUICanvas, new Vector2(Input.mousePosition.x, Input.mousePosition.y), mainCamera, out mousePos);
float z;
if (mousePos.x > transform.position.x)
{
z = -Vector3.Angle(Vector3.up, mousePos - transform.position);
}
else
{
z = Vector3.Angle(Vector3.up, mousePos - transform.position);
}
transform.localRotation = Quaternion.Euler(0, 0, z);
}
}
public class GunFollow : MonoBehaviour
{
public RectTransform UGUICanvas;
public Camera mainCamera;
void Update()
{
Vector3 mousePos;
RectTransformUtility.ScreenPointToWorldPointInRectangle(UGUICanvas, new Vector2(Input.mousePosition.x, Input.mousePosition.y), mainCamera, out mousePos);
float z;
if (mousePos.x > transform.position.x)
{
z = -Vector3.Angle(Vector3.up, mousePos - transform.position);
}
else
{
z = Vector3.Angle(Vector3.up, mousePos - transform.position);
}
transform.localRotation = Quaternion.Euler(0, 0, z);
}
}