Waktu Terbaik
Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 53 dari 56.
Tantangan
SedangLangkah terakhir: setiap level mengingat waktu terbaikmu. Pertahankan semua hal dari pelajaran sebelumnya. HUD setiap level memiliki BestText di kanan atas, dan scene menempatkannya di field baru bestText milik FinishLine.
Di FinishLine (tambahkan using TMPro;):
- Field
TMP_TextbestTextyang diatur oleh Inspector, dan waktu lari:floatyang bertambah sebesarTime.deltaTimesetiap frame. - Setiap level menyimpan waktu terbaiknya dengan key PlayerPrefs tersendiri:
BestTime_dan nama level, sepertiBestTime_Level1. - Di
Start, tampilkan waktu terbaik level yang tersimpan dengan satu angka desimal, sebagaiBest: 12.4 s, atauBest: nonejika belum ada. - Saat pemain melewati garis finis, sebelum level berikutnya dimuat, simpan waktu lari jika level belum memiliki waktu terbaik atau waktu lari tersebut lebih baik. Waktu lari yang lebih lambat tidak mengubah waktu terbaik.
Tekan Mainkan dan catat waktumu, lalu coba lampaui waktu tersebut, kemudian tekan Periksa.
Coba sendiri
using UnityEngine;
using UnityEngine.SceneManagement;
public class FinishLine : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.GetComponent<Player>() == null) return;
Scene level = SceneManager.GetActiveScene();
Debug.Log(level.name + " complete!");
int next = level.buildIndex + 1;
if (next >= SceneManager.sceneCountInBuildSettings)
{
next = 0;
}
SceneManager.LoadScene(next);
}
}
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 Bank