Menu
CoddyTech

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.

challenge icon

Görev

Zor

Derlemede 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 speed birim hızla hareket ettirir: sağa ve sola x ekseni boyunca, yukarı ve aşağı z ekseni boyunca. gravity ile düşer ve yalnızca controller.Move ile 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 timeLimit değerinden başlar ve geçen gerçek zaman kadar azalır. timeText, süreyi tek ondalık basamakla Time: 7.4 biçiminde beyaz renkte gösterir; 3 saniyeden az kaldığında kırmızı (Color.red) olur.
  • Her saat bonus saniye 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 left biç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;
}
quiz iconKendini test et

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