📜  unity 鼠标左键 - C# (1)

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

Unity 鼠标左键 - C#

Unity 中提供了多种方法来检测鼠标输入,本文主要介绍如何检测鼠标左键的输入并作出相应的行为。

在 Update() 中检测鼠标左键

在 Unity 中,我们可以使用 Input.GetMouseButtonDown(0) 方法来检测鼠标左键是否被按下,其中参数 0 表示鼠标左键。我们可以在 Update() 方法中每帧检测一次,代码如下:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        // 鼠标左键被按下时的代码
    }
}
在 RayCast 中检测鼠标左键

RayCast 可以用来检测鼠标是否点击在某个 3D 对象上,如果点击在了物体上,我们可以在代码中作出相应的行为。代码如下:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        // 从相机位置发射一条射线
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        // 检测射线碰撞
        if (Physics.Raycast(ray, out RaycastHit hit))
        {
            // 如果射线碰撞到物体,做出相应的行为
            if (hit.transform.tag == "物体标签")
            {
                // 物体被点击时的代码
            }
        }
    }
}
鼠标左键的常见用途
  • 在游戏中选取角色/物体
  • 在游戏中确认选择
  • 在游戏中攻击/射击
  • 利用鼠标拖拽实现拖放效果

以上是鼠标左键的一些常见用途,开发者可以根据自己的需求作出相应的行为。

参考资料: