Menu
CoddyTech

Điều khiển bằng các phím

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 12 trên 85.

Input.GetKey(KeyCode.Space) có giá trị true ở mỗi khung hình khi bạn nhấn giữ phím Space và có giá trị false nếu không. Kiểm tra phím trong Update() và chỉ di chuyển khi kết quả là đúng, để người chơi điều khiển đối tượng.

Thùng này bay lên với tốc độ lift đơn vị mỗi giây khi bạn nhấn giữ phím Space. Time.deltaTime giúp duy trì tốc độ tính theo giây, như trong bài học trước:

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

Mỗi phím đều có một KeyCode: KeyCode.UpArrow, KeyCode.W, KeyCode.Return và nhiều phím khác. Trước tiên, hãy nhấp vào khung trò chơi để các phím được gửi đến đó. Lưu ý dành cho Unity 6: các dự án mới sử dụng Input System mới, và Input.GetKey sẽ gây lỗi cho đến khi bạn đặt Active Input Handling (trong Project Settings, Player) thành Both.

challenge icon

Thử thách

Dễ

Cho người chơi điều khiển khối lập phương bằng các phím mũi tên.

  1. Trong Update(), khi Input.GetKey(KeyCode.RightArrow) là true, hãy cộng new Vector3(speed * Time.deltaTime, 0, 0) vào transform.position.
  2. Khi giữ KeyCode.LeftArrow, hãy trừ cùng Vector3 bằng -=.

Nhấn Chơi, nhấp vào trò chơi rồi giữ các phím mũi tên: khối lập phương trượt sang phải và trái. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // Phím mũi tên phải: di chuyển sang phải. Phím mũi tên trái: di chuyển sang trái.
    }
}

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