Đ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.
Thử thách
DễĐiều khiển rắn bằng các phím mũi tên hoặc WASD.
- Thêm
using UnityEngine.InputSystem;vàoSnake. - Ở đầu
Update(), đọcKeyboard.current: phím mũi tên lên hoặc W đặtdirection = Vector3.forward, phím mũi tên xuống hoặc S đặtVector3.back, phím mũi tên trái hoặc A đặtVector3.left, phím mũi tên phải hoặc D đặtVector3.right. - 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