📜  unity player 看鼠标 - C# (1)

📅  最后修改于: 2023-12-03 14:48:11.971000             🧑  作者: Mango

Unity Player 看鼠标 - C#

Unity Player 看鼠标是一个C#脚本,用于在Unity游戏场景中追踪和响应鼠标输入。本脚本将监控鼠标的移动、点击和释放事件,以便游戏可以根据玩家的操作做出相应的动作。

以下是一个基本示例,展示了如何使用Unity Player 看鼠标脚本:

// MouseLook.cs

using UnityEngine;

public class MouseLook : MonoBehaviour
{
    public float sensitivity = 100f;
    public Transform playerBody;

    float xRotation = 0f;

    void Start()
    {
        Cursor.lockState = CursorLockMode.Locked;
    }

    void Update()
    {
        float mouseX = Input.GetAxis("Mouse X") * sensitivity * Time.deltaTime;
        float mouseY = Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;

        xRotation -= mouseY;
        xRotation = Mathf.Clamp(xRotation, -90f, 90f);

        transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
        playerBody.Rotate(Vector3.up * mouseX);
    }
}

此示例将鼠标的移动映射到相机的旋转,并将玩家的身体绕y轴旋转。在 Start 方法中,我们锁定鼠标光标以确保玩家体验更好。

接下来,我们在 Update 方法中使用 Input.GetAxis 获取鼠标的横向和纵向输入。然后,我们将纵向移动转换为相机绕x轴的旋转,并使用 Mathf.Clamp 限制旋转的角度,以免相机翻转。在最后,我们用 playerBody.Rotate 将鼠标的横向移动应用到玩家的身体上。

要使用此脚本,您需要在Unity中创建一个空对象并将其添加到主摄像机上。确保将 playerBody 变量设置为玩家的身体(例如一个角色控制器或另一游戏对象)。您还可以根据需要调整 sensitivity 变量的值。

希望这个示例对您有所帮助!Markdown格式的代码片段如上所示。