Zamanlayıcıyla Nesne Oluşturma
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 63 / 85.
Birkaç saniyede bir nesne oluşturan bir üretici zamanlayıcıya ihtiyaç duyar. Time.deltaTime, son karenin sürdüğü süredir; bu nedenle bunu her Update() çağrısında bir alana eklemek, geçen saniyeleri verir. Toplam süre aralığa ulaştığında nesne oluştur ve aralığı toplam süreden çıkar.
Bu fıskiye her yarım saniyede bir su damlası fırlatır:
public GameObject dropPrefab;
public float interval = 0.5f;
float timer;
void Update()
{
timer += Time.deltaTime;
if (timer >= interval)
{
Instantiate(dropPrefab, transform.position, Quaternion.identity);
timer -= interval;
}
}timer -= interval kalan süreyi korur: kare 0.51 saniyede sona erdiyse, sonraki yarım saniyenin sayımı 0.01'den başlar ve damlalar ritmi korur. timer = 0 bu kalanı yok sayar; böylece her damla biraz geç düşer ve uzun bir oyun boyunca gecikme birikerek artar. timer özeldir, çünkü Inspector'da kimsenin onu ayarlaması gerekmez.
Görev
OrtaHer interval saniyede bir kutu bırak (Inspector'da 2).
float timer;veint count;alanlarını ekle.Update()içindeTime.deltaTimedeğerinitimerdeğişkenine ekle.timer >= intervalolduğundaInstantiate(boxPrefab, transform.position, Quaternion.identity);çağır vetimerdeğerindenintervaldeğerini çıkar.- Ardından
countdeğerini 1 artır ve"Box " + countifadesini günlüğe yazdır.
“Oyna” düğmesine bas: her 2 saniyede bir kutu düşer ve Console'da Box 1, Box 2 sayılır. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class BoxDropper : MonoBehaviour
{
public GameObject boxPrefab;
public float interval = 1f;
void Update()
{
// Her interval saniyede bir: bir kutu bırak ve "Box 1", "Box 2"... şeklinde logla
}
}
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı11Prefab'ler ve Nesne Oluşturma
Prefab'ler ve InstantiateZamanlayıcıyla Nesne OluşturmaIzgarada Nesne OluşturmaNesne ListeleriEn Yeniyi Geri AlmaYok EtmeRastgele Nesne OluşturmaTekrar: Havai Fişekler3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground