Lari Terbaik
Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 32 dari 56.
Tantangan
SedangLangkah terakhir: ingat catatan jarak terbaik. Pertahankan semua yang dibuat dalam pelajaran sebelumnya. Canvas memiliki BestText di kanan atas, dan panel memiliki NewBestText yang tersembunyi (New best!); scene menempatkannya di dua field baru pada GameManager, public TMP_Text bestText; dan public GameObject newBestText;. Simpan catatan terbaik dengan kunci BestRun, dalam satuan meter bulat:
- Di
Start(), muat catatan terbaik (0 untuk pemain baru) dan tampilkan sebagaiBest: 57 m. - Di
GameOver(), saat jarak tempuh dalam meter bulat,Mathf.FloorToInt(distance), melampaui catatan terbaik, simpan catatan terbaik yang baru, tampilkan nilainya, dan tampilkannewBestText. Jarak tempuh yang lebih pendek tidak mengubah apa pun.
Catatan terbaik tetap tersimpan saat kamu menekan Jalankan lagi dan saat kamu keluar dari game. Tekan Play, buat catatan terbaik dan coba lampaui, lalu tekan Periksa.
Coba sendiri
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 Start()
{
restartButton.onClick.AddListener(Restart);
}
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);
}
void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
Semua pelajaran di Membangun Game Sungguhan
4Scene dan Level
Muat SceneMulai Ulang LevelLevel BerikutnyaPertahankan Antar-SceneRekap: Pilih Level10Proyek: Platformer 3D
LintasanPlatform Bergerak2Tombol dan Layar
Tombol dan onClickLambdaMenghubungkan di InspectorPanel Aktif dan NonaktifBilah KesehatanRangkuman: Toko Upgrade5Menyimpan dengan PlayerPrefs
Simpan AngkaMuat dengan Nilai DefaultSkor TertinggiSimpan PengaturanUlasan: Koin di Bank3Pengelola Game
Satu Skrip Menjalankan GameSingletonStatus GamePercabangan Berdasarkan StatusUlasan: Pengelola Ronde6Proyek: Pelari Tanpa Akhir
Tiga JalurRintangan di Depan