Menu
CoddyTech

En İyi Süre

Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 53 / 56.

challenge icon

Görev

Orta

Son adım: her seviye en iyi süreni hatırlar. Önceki derslerdeki her şeyi koru. Her seviyenin HUD'unda sağ üstte bir BestText bulunur ve sahne bunu FinishLine'ın yeni bestText alanına atar.

FinishLine içinde (using TMPro; ekle):

  • Inspector'ın atadığı bir TMP_Text alanı bestText ve turun süresi: her karede Time.deltaTime kadar artan bir float.
  • Her seviye en iyi süresini kendi PlayerPrefs anahtarında saklar: BestTime_ ve seviyenin adı; örneğin BestTime_Level1.
  • Start içinde, seviyenin kayıtlı en iyi süresini bir ondalık basamakla Best: 12.4 s olarak göster; henüz yoksa Best: none göster.
  • Oyuncu bitiş çizgisini geçtiğinde, sonraki seviye yüklenmeden önce, seviye için henüz en iyi süre yoksa veya tur bu süreyi geçerse turun süresini kaydet. Daha yavaş bir tur en iyi süreyi değiştirmez.

Play'e basıp bir süre belirle, sonra bu süreyi geçmeye çalış ve ardından Check'e bas.

Kendin dene

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);
    }
}

Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler