Merhaba Arkadaşlar,
Belkide en sık kullanılan metodlardan biri olan Invoke metodu hakkında biraz bilgi vermek istiyorum. Unity 3D’de Script üzerinden bir fonksiyonu belirli bir zamandan sonra sürekli veya bir defa çalıştırmak üzere yazılmış hazır bir metod bulunmakta. Böylelikle Time sınıfı ile koşullu fonksiyonlar oluşturmadan işlerimizi sadece bir satır yazarak oluşturabilmekteyiz. Şimdi gelin beraber inceleyelim.
Öncelikle bir kere çalıştırmak üzere belirli süre sonunda fonksiyonumuzu nasıl çalıştırabileceğimizi görelim:
1 2 3 4 5 6 7 8 9 |
void Start() { Invoke ("Fonksiyon", 2); } void Fonksiyon() { Instantiate(target, new Vector3(0, 2, 0), Quaternion.identity); } |
Peki ya sürekli çalıştırmak istersek:
1 2 3 4 5 6 7 8 9 |
void Start() { InvokeRepeating ("Fonksiyon", 2, 1); } void Fonksiyon() { Instantiate(target, new Vector3(0, 2, 0), Quaternion.identity); } |
Burada InvokeRepeating’i açıklamak istiyorum. Fonksiyonumuz 2 saniye sonra çalıştırılmaya başlanacak ve her 1 saniyede bu işlem tekrarlanacak.
Peki ya durdurmak istersek ? Onun da çözümü var tabiki:
1 |
CancelInvoke("Fonksiyon"); |
Satırı ile fonksiyonun sürekli çağırılmasını sonlandırmış oluyoruz.
Umarım yararlı olmuştur. 🙂
Ya hocam.Iyi niyetli paylasiminizdan oturu sizi tebrik ederim.Ama su program parcaciklarinin basindaki acilip kapanir bar berbet bir tasarim.Bu yuzden bir daha sitene girmeyecegim.Canin cehenneme demek istersin diye mailimi de biraktim.ama belki duzeltirsin.
Selamlar. Allah razı olsun senden, çok yardımcı oldu paylaşımınız.