📅  最后修改于: 2023-12-03 15:05:44.370000             🧑  作者: Mango
在 Unity 2D 中,我们可以通过以下 C# 代码实现鼠标跟随光标的效果:
using UnityEngine;
public class CursorFollow : MonoBehaviour
{
void Update()
{
Vector3 mousePos = Input.mousePosition;
mousePos.z = 10f;
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
}
}
上述代码中,我们在 Update()
方法中获取了鼠标当前的屏幕坐标,并将其 z
值设为一个固定值,以保证光标始终处于场景的前景中。然后,我们再通过 ScreenToWorldPoint()
方法将其转化为世界坐标,并将 transform.position
设为该坐标值。
如果要让代码更加可定制化,我们还可以添加一些自定义的参数。例如,我们可以通过以下代码实现光标距离相机一定距离的效果:
using UnityEngine;
public class CursorFollow : MonoBehaviour
{
public float distanceFromCamera = 10f;
void Update()
{
Vector3 mousePos = Input.mousePosition;
mousePos.z = distanceFromCamera;
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
}
}
在上述代码中,我们添加了一个公共变量 distanceFromCamera
,默认值为 10。在 Update()
方法中我们将 z
值设为该变量值,这里我们假设了相机的 z
值为 0。当然,如果您使用的相机位置不同,也可以将该值调整为相应的值。
以上就是 Unity 2D 鼠标跟随光标的实现方法,希望可以帮到大家!