Menu
CoddyTech

Nút chuột

Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 22 trên 85.

Các nút chuột có ba phương thức riêng, nhận số của nút: 0 là nút trái, 1 là nút phải, 2 là nút giữa.

  • Input.GetMouseButtonDown(0): nút trái vừa được nhấn xuống trong khung hình này.
  • Input.GetMouseButton(0): nút đang được nhấn, ở mỗi khung hình trong lúc giữ.
  • Input.GetMouseButtonUp(0): nút vừa được nhả ra trong khung hình này.

Chúng hoạt động giống các phương thức xử lý phím, và Input.GetMouseButtonDown(0) tương đương với Input.GetKeyDown(KeyCode.Mouse0). Chiếc chuông này reo một lần cho mỗi lần nhấp trong trò chơi:

public int rings = 0;

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

Một lần nhấp ở bất kỳ đâu trong trò chơi đều được tính, không chỉ lần nhấp vào chuông: các phương thức này báo nút nào được nhấn, chứ không báo vật thể nào nằm dưới con trỏ. Muốn xác định vật thể nào được nhấp thì cần nhiều code hơn thế này. Trên điện thoại, Unity ghi nhận thao tác chạm như nút chuột 0, nên chuông cũng reo khi bạn chạm.

challenge icon

Thử thách

Dễ

Mỗi lần nhấp, khối lập phương sẽ lớn lên, tối đa đến kích thước 2.

  1. Trong Update(), viết câu lệnh if với điều kiện Input.GetMouseButtonDown(0) && transform.localScale.x < 2f.
  2. Bên trong câu lệnh đó, cộng new Vector3(0.25f, 0.25f, 0.25f) vào transform.localScale.

Nhấn Chơi rồi nhấp vào trò chơi bốn lần: khối lập phương lớn gấp đôi rồi dừng lại. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Grower : MonoBehaviour
{
    void Update()
    {
        // Mỗi lần nhấp: tăng kích thước thêm 0.25 trên từng trục, tối đa là 2.
    }
}

Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity

Tự luyện tập: Playground Unity