Thức ăn
Bài học 5 trên 14 trong khóa học Game Unity: rắn 3D của Coddy.
Thức ăn nằm trên một ô ngẫu nhiên. Tọa độ ô là số nguyên, nên hãy chọn x và z bằng phiên bản int của Random.Range. Với số nguyên, giá trị tối đa không được tính: Random.Range(1, 7) sẽ cho kết quả như khi gieo xúc xắc, từ 1 đến 6. Để tính cả một số, hãy yêu cầu giá trị lớn hơn số đó 1 đơn vị. Với số thực, hàm trả về các số như 3.62, không phải phần giữa của một ô.
Trên bàn chơi có cạnh dài 4, các cột chạy từ -4 đến 4:
int x = Random.Range(-4, 5); // từ -4 đến 4Mỗi lần chỉ có một thức ăn trên bàn chơi, vì vậy trò chơi tạo thức ăn một lần trong Start() và di chuyển nó mỗi khi cần một vị trí mới. GameManager đọc kích thước bàn chơi từ edge của con rắn thông qua trường snake.
Thử thách
Trung bìnhĐặt thức ăn vào một ô ngẫu nhiên trên bảng.
- Trong
GameManager, thêmpublic Snake snake;,public GameObject foodPrefab;vàprivate Transform food;(cảnh sẽ liên kết hai biến đầu tiên). - Trong
Start(), viếtfood = Instantiate(foodPrefab).transform;, sau đó gọiMoveFood(). void MoveFood(): đặt thức ăn tại tọa độ x và z ngẫu nhiên, mỗi tọa độ nằm trong khoảng từ-snake.edgeđếnsnake.edge, y bằng 0.
Nhấn Chơi: một hình cầu màu đỏ nằm trên một ô, ở vị trí mới mỗi lần. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Điều khiển trò chơi: thức ăn, điểm số và kết thúc trò chơi. Chương 2 sẽ bổ sung phần này.
}
Tất cả bài học trong Game Unity: rắn 3D
Tự luyện tập: Playground Unity