Menu
CoddyTech

Điều khiển

Bài học 2 trên 14 trong khóa học Game Unity: rắn 3D của Coddy.

Con rắn rẽ bằng các phím mũi tên hoặc WASD. Camera nhìn xuống bàn chơi từ cạnh phía trước, vì vậy hướng lên trên màn hình là theo trục +z, Vector3.forward, còn hướng xuống là Vector3.back. Vector3.up hướng lên trời: nếu đầu rắn di chuyển theo hướng này, nó sẽ rời khỏi bàn chơi.

Mỗi lần nhấn chỉ tạo ra một lượt rẽ, vì vậy hãy đọc phím bằng wasPressedThisFrame. Lần nhấn chỉ thay đổi direction; Step() vẫn di chuyển đầu rắn ở nhịp kế tiếp:

Keyboard keyboard = Keyboard.current;
if (keyboard != null && keyboard.dKey.wasPressedThisFrame)
{
    direction = Vector3.right;
}

Phím mũi tên và phím chữ tương ứng là hai phím riêng, được nối bằng ||. Keyboard.current có giá trị null trên thiết bị không có bàn phím, vì vậy hãy kiểm tra nó một lần ở đầu.

challenge icon

Thử thách

Dễ

Điều khiển rắn bằng các phím mũi tên hoặc WASD.

  1. Thêm using UnityEngine.InputSystem; vào Snake.
  2. Ở đầu Update(), đọc Keyboard.current: phím mũi tên lên hoặc W đặt direction = Vector3.forward, phím mũi tên xuống hoặc S đặt Vector3.back, phím mũi tên trái hoặc A đặt Vector3.left, phím mũi tên phải hoặc D đặt Vector3.right.
  3. Giữ nguyên Step(): đầu rắn sẽ đổi hướng ở lần chạy tiếp theo.

Nhấn Chơi, nhấp vào trò chơi rồi điều khiển rắn: đầu rắn sẽ đổi hướng ở bước tiếp theo. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Snake : MonoBehaviour
{
    public float tick = 0.15f;   // số giây giữa hai bước di chuyển
    private float timer;
    private Vector3 direction = Vector3.right;

    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= tick)
        {
            timer -= tick;
            Step();
        }
    }

    void Step()
    {
        transform.position += direction;
    }
}

Tất cả bài học trong Game Unity: rắn 3D

Tự luyện tập: Playground Unity