Unity Invoke, InvokeRepeating ve CancelInvoke Nedir?

Unity Invoke, InvokeRepeating ve CencelInvoke Nedir?

Unity Invoke, InvokeRepeating ve CancelInvoke Nedir?

Unity de bir numerator oluşturmadan fonksiyonları tekrar tekrar çağırmamızı veya bir zaman sonra yani gecikmeli olarak çağırmamızı sağlayan komutlardır. gelin bu komutları biraz daha detaylı olarak inceleyelim.

Invoke Nedir?

Invoke bir fonksiyonu belirlediğimiz zaman sonra çalışmasını sağlayan komuttur.

Invoke komutundaki parametrelere bakacak olursak.

Invoke("fonksiyon adı", çağırılacağı süre);

Örnek:

private void Start(){
Invoke("deneme", 2f);
}

private void deneme(){
debug.log("2 Saniye sonra çalışan fonksiyon");
}

InvokeRepeating Nedir?

InvokeRepeating bir fonksiyonu belirlediğimiz zaman aralıklarında çalışmasını sağlayan komuttur.

InvokeRepeating komutundaki parametrelere bakacak olursak.

InvokeRepeating("fonksiyon adı", ilk çalışma süresi, tekrar edeceği süre);

Örnek:

private void Start(){
InvokeRepeating("deneme", 3f, 1f);
}

private void deneme(){
debug.log("program başladıktan 3 saniye sonra ilk defa çağırılan ve 2 saniye aralıklar ile çalışan fonksiyon");
}

CancelInvoke Nedir?

CancelInvoke daha öncesinde InvokeRepeating ile başlattığımız tekrar edilerek çağırılan komutun artık çağırılmamasını sağladığımız komuttur. Yani Repating olayını iptal etmemizi sağlar.

CancelInvoke komutundaki parametrelere bakacak olursak.

CancelInvoke("fonksiyon adı");

Örnek:

int i = 0;
private void Start(){
InvokeRepeating("deneme", 3f, 1f);
}

private void deneme(){
i++;
if(i <= 5){
	debug.log("program başladıktan 3 saniye sonra ilk defa çağırılan ve 2 saniye aralıklar ile çalışan fonksiyon 5. çalışmadan sonra duruyor.");
    }
else{
	CancelInvoke("deneme");
    }
}