Menu
CoddyTech

Waktu Terbaik

Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 53 dari 56.

challenge icon

Tantangan

Sedang

Langkah 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_Text bestText yang diatur oleh Inspector, dan waktu lari: float yang bertambah sebesar Time.deltaTime setiap frame.
  • Setiap level menyimpan waktu terbaiknya dengan key PlayerPrefs tersendiri: BestTime_ dan nama level, seperti BestTime_Level1.
  • Di Start, tampilkan waktu terbaik level yang tersimpan dengan satu angka desimal, sebagai Best: 12.4 s, atau Best: none jika 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