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.
Görev
OrtaSon 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_TextalanıbestTextve turun süresi: her karedeTime.deltaTimekadar artan birfloat. - Her seviye en iyi süresini kendi PlayerPrefs anahtarında saklar:
BestTime_ve seviyenin adı; örneğinBestTime_Level1. Startiçinde, seviyenin kayıtlı en iyi süresini bir ondalık basamaklaBest: 12.4 solarak göster; henüz yoksaBest: nonegö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
1Ekrandaki Metinler
Canvas ve MetinSkoru GösterSayıları BiçimlendirGeri Sayım ZamanlayıcısıTekrar: Hız Göstergesi4Sahneler ve Bölümler
Bir Sahne YüklemeBölümü Yeniden BaşlatmaSonraki BölümSahneler Arasında SaklamaTekrar: Bölüm Seçimi10Proje: 3D Platform Oyunu
ParkurHareketli Platformlar2Düğmeler ve Ekranlar
Düğmeler ve onClickLambda İfadeleriInspector'da Bağlantı KurmaPanelleri Açma ve KapamaCan ÇubuklarıTekrar: Yükseltme Mağazası5PlayerPrefs ile Kaydetme
Bir Sayı KaydetmeVarsayılan Değerle YüklemeEn Yüksek SkorAyarları KaydetmeTekrar: Bankadaki Paralar