Menu
CoddyTech

鼠标按键

本课属于 Coddy Unity 学习旅程的“Unity 脚本基础”单元。第 22 课,共 85 课。

鼠标按键有自己的 3 个方法,它们接收按键编号:0 表示左键,1 表示右键,2 表示中键。

  • Input.GetMouseButtonDown(0):左键在这一帧按下。
  • Input.GetMouseButton(0):左键当前处于按下状态,在按住期间的每一帧都是如此。
  • Input.GetMouseButtonUp(0):左键在这一帧松开。

它们的工作方式和键盘按键方法相同,Input.GetMouseButtonDown(0) 等同于 Input.GetKeyDown(KeyCode.Mouse0)。下面的代码会在每次点击游戏时响铃一次:

public int rings = 0;

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        rings++;
        Debug.Log("Ding! " + rings);
    }
}

点击游戏中的任何位置都会计数,不只是点击铃铛:这些方法会报告按键状态,而不是指针下方的对象。判断点击了哪个对象需要比这更多的代码。在手机上,Unity 会将轻触报告为鼠标按键 0,因此轻触也会让铃铛响起。

challenge icon

挑战

简单

每次点击都会让立方体变大,最大尺寸为 2。

  1. 在 Update() 中,针对 Input.GetMouseButtonDown(0) && transform.localScale.x < 2f 编写一个 if 条件语句。
  2. 在其中,将 new Vector3(0.25f, 0.25f, 0.25f) 加到 transform.localScale 上。

按下“运行”,然后点击游戏画面四次:立方体会变成原来的两倍大,并停止变大。然后点击“检查”。

亲手试试

using UnityEngine;

public class Grower : MonoBehaviour
{
    void Update()
    {
        // 每点击一次:各轴上的尺寸增加 0.25,最大为 2。
    }
}

Unity 脚本基础中的所有课

自己练习: Unity 在线编辑器