📅  最后修改于: 2023-12-03 15:05:45.421000             🧑  作者: Mango
在 Unity 中,我们可以使用 C# 脚本来让一个 2D 对象看鼠标位置。这样可以实现很多有趣的效果,比如让角色始终面向鼠标指向的方向,或者让鼠标移动到某个位置时,2D 对象也跟随移动。
新建一个 2D 游戏对象,比如一个 Sprite。
添加一个 C# 脚本组件,命名为 MouseMovement。
打开 MouseMovement.cs 文件,编写以下代码:
using UnityEngine;
public class MouseMovement : MonoBehaviour
{
void Update()
{
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.up = new Vector2(mousePos.x - transform.position.x, mousePos.y - transform.position.y);
}
}
在 Update
方法中,我们获取鼠标在世界坐标系中的位置,即 mousePos
。
然后我们将 transform.up
(即 2D 对象的朝向)设置为从当前位置指向鼠标位置的向量,即 new Vector2(mousePos.x - transform.position.x, mousePos.y - transform.position.y)
。
通过上述步骤,我们实现了让一个 2D 对象看鼠标位置的效果。这个方法不仅可以用于让角色始终面向鼠标指向的方向,还可以用于实现其他需要跟随鼠标或指定位置移动的效果。