float KeyVertical = Input.GetAxis("Vertical");
float KeyHorizontal = Input.GetAxis("Horizontal");
// 假设 UI 物体在竖直方向上为 Y 轴,水平方向上为 X 轴
Vector2 direction = new Vector2(KeyHorizontal, KeyVertical);
if (direction.magnitude > 0.1f) // 可以根据需要调整这个阈值
{
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
// 对角度进行判断,然后做出相应的操作
if (angle > -45 && angle <= 45)
{
// 向右
Debug.Log("向右");
}
else if (angle > 45 && angle <= 135)
{
// 向上
Debug.Log("向上");
}
else if (angle > 135 || angle <= -135)
{
// 向左
Debug.Log("向左");
}
else
{
// 向下
Debug.Log("向下");
}
}
else
{
// 没有输入
}