1. sayfa
For dongusu isinize yarayabilir. https://www.kodlamamerkezi.com/c-net/c-for-dongusu-ornekler-ile-detayli-anlatim/ |
for (float i = 0; i <= 10; i++) Böyle yapınca da hiç saymadan direk 10'da kalıyor: for (float i = 0; i <= 10; i++) |
{ sayı ++ } |
Maalesef böyle olunca da sonsuza kadar sayıyor. |
{ sayi ++ } |
|
|
< Resime gitmek için tıklayın > |
For u update harici bir yerde denermisiniz. |
Bir değişiklik yok. Yine 11'in katı şeklinde artıyor. void Sayı () { for (int i = 0; i <= 10; i++) { sayı ++ ; } } |
|
Sorunu şimdilik böyle yaparak çözdüm:number = 0; |
IEnumerator Say() Yukarıda ki Coroutine şeklinde de basitçe istediğini yapabilirsin , 1 kere çalıştırman yeterli StartCoroutine(Say()); şeklinde, sürekli update methodunda sayı değerini o şekilde kontrol etmeni tavsiye etmem , alternatifi varken en azından. yield return null kısmında method orda durup bir sonra ki frame'i bekliyor yani aslında update fonksiyonuyla aynı işlevi görüyor, for döngüsü bitene kadar çalışacak sonra sonlanacak zaten. Daha fazla bilgi almak istersen aşağıda ki linke bakmanı da tavsiye ederim.Farklı şekillerde de kullanılabiliyor çünkü işine yarayabilir. https://docs.unity3d.com/Manual/Coroutines.html |
|
Yine sonsuza kadar saymaya devam ediyor. Fakat aslında updatenin içinde karakter sağa baktığı an 10'a kadar saydırmasını istediğim için sonsuza kadar sayıyor olabilir mi?
|
bu sayma işini bir fonksiyona ata ve o fonksiyonu gerektiği anda çağırarak işlemi gerçekleştir. |
|
1. sayfa
Aslında böyle yapabilirim fakat bana kötü performanslı gibi geldi. Çünkü 10'u geçince sürekli 10'a sabitliyor. 1'den 10'a kadar sayının artmasının daha iyi bir yolu var mıdır acaba?