Zamana Karşı Yarış
Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 55 / 56.
Bir bahçede zamana karşı yarış. Koşucu, saatinde on saniye varken bir uçtan başlar ve süre dolmadan çitin etrafından dolaşarak diğer uçtaki beyaz hedefe ulaşmalıdır. Yol üzerindeki altın saatlerin her biri birkaç saniye daha kazandırır. Süre neredeyse dolduğunda saat kırmızıya döner; süre dolduğunda parkur baştan başlar. Hedefe zamanında ulaş ve oyun Finish sahnesine geçer.
İki betik yaz: koşucunun üzerindeki Runner (bir CharacterController) ve Race nesnesinin üzerindeki Race.
Görev
ZorDerlemede Track ve Finish olmak üzere iki sahne vardır. Pistte saatler Clock, hedef ise Goal olarak etiketlenmiştir; ikisi de tetikleyicidir.
Inspector, Runner için speed (6), gravity (-9.81) ve race (Race betiği) değerlerini belirler.
- Projenin Move eylemi, koşucuyu saniyede
speedbirim hızla hareket ettirir: sağa ve sola x ekseni boyunca, yukarı ve aşağı z ekseni boyunca.gravityile düşer ve yalnızcacontroller.Moveile hareket eder; bu yüzden çit onu durdurur. - Bir saate çarpınca saat kullanılır ve yarışa bonus eklenir. Hedefe çarpınca yarış tamamlanır.
Inspector, Race için timeLimit (10), bonus (3) ve timeText değerlerini belirler.
- Kalan süre
timeLimitdeğerinden başlar ve geçen gerçek zaman kadar azalır.timeText, süreyi tek ondalık basamaklaTime: 7.4biçiminde beyaz renkte gösterir; 3 saniyeden az kaldığında kırmızı (Color.red) olur. - Her saat
bonussaniye ekler. - Süre 0'a ulaştığında
Time's up!mesajını günlüğe yazdır ve pisti başlangıçtan yeniden yükle. - Yarış süre dolmadan tamamlandığında, kalan süreyi
Finished with 4.2 s leftbiçiminde günlüğe yazdır ve Finish sahnesini yükle.
Play düğmesine basıp zamana karşı yarış, ardından Check düğmesine bas.
Kendin dene
using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;
public class Race : MonoBehaviour
{
public float timeLimit = 10f;
public float bonus = 3f;
public TMP_Text timeText;
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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