Chạy lại
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 32 trên 60.
Thử thách
Trung bìnhĐể nút Chạy lại bắt đầu một lượt chạy mới.
- Trong
GameManager, viếtvoid Restart()để tải lại cảnh:SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);. - Thêm
void Start()vớirestartButton.onClick.AddListener(Restart);.
Nhấn Chơi, va chạm rồi nhấn Chạy lại: một lượt chạy mới bắt đầu. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public enum GameState { Playing, GameOver }
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;
public GameState state = GameState.Playing;
private float distance;
void Awake()
{
Instance = this;
}
void Update()
{
if (state != GameState.Playing) return;
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
public void GameOver()
{
state = GameState.GameOver;
speed = 0f;
gameOverPanel.SetActive(true);
}
}
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