Va chạm kết thúc lượt chạy
Thuộc phần Xây dựng trò chơi thực tế trong hành trình Unity của Coddy. Bài học 31 trên 60.
Thử thách
Trung bìnhVa chạm sẽ dừng lượt chạy.
- Phía trên
GameManager, khai báopublic enum GameState { Playing, GameOver }; bên trong, thêmpublic GameState state = GameState.Playing;. public void GameOver()đặtstatethànhGameState.GameOvervàspeedthành 0, đồng thời hiển thịgameOverPanel.RunnergọiGameManager.Instance.GameOver()khi có va chạm với đối tượng gắn thẻObstacle.GameManager,RunnervàSpawnerbắt đầuUpdate()bằngreturnnếu không ở trạng tháiPlaying.
Nhấn Chơi rồi va chạm: mọi thứ sẽ dừng lại. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public float speed = 10f;
public float speedUp = 0.5f;
public float maxSpeed = 20f;
public TMP_Text distanceText;
public GameObject gameOverPanel;
public Button restartButton;
private float distance;
void Awake()
{
Instance = this;
}
void Update()
{
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
}
Tất cả bài học trong Xây dựng trò chơi thực tế
1Văn bản trên màn hình
Canvas và văn bảnHiển thị điểm sốĐịnh dạng sốĐồng hồ đếm ngượcÔn tập: Đồng hồ tốc độ7Điều khiển thời gian
Tạm dừng bằng timeScaleChuyển động chậmThời gian không bị co giãnÔn tập: Bullet Time2Nút bấm và màn hình
Nút bấm và onClickLambdaKết nối trong InspectorBật và tắt bảngThanh máuÔn tập: Cửa hàng nâng cấp5Lưu dữ liệu với PlayerPrefs
Lưu một sốTải với giá trị mặc địnhĐiểm cao nhấtLưu cài đặtÔn tập: Tiền xu trong ngân hàng3Trình quản lý trò chơi
Một script chạy trò chơiSingletonCác trạng thái trò chơiChuyển đổi trạng tháiÔn tập: Trình quản lý vòng chơi6Dự án: trò chơi chạy vô tận
Ba làn đườngChướng ngại vật phía trướcTự luyện tập: Playground Unity