📜  Unity 2D 鼠标看光标 - C# (1)

📅  最后修改于: 2023-12-03 15:05:44.370000             🧑  作者: Mango

Unity 2D 鼠标看光标

在 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 鼠标跟随光标的实现方法,希望可以帮到大家!