Unity'de, normal C # 'a ek olarak koroutinler için bazı özel şeylerimiz var.
örneğin,
yield return WaitForSeconds(5.f);
devam etmeden önce 5 saniye beklemede olan bir program.
Ne yapmalı yield return false;
ve yield return true;
yapmalı?
if (0)
veya yapamazsınız if (null)
.
yield return 0
işe yarıyor; Görünüşe göre
yield
Anahtar kelime en az C # 2.0 yana civarında olmuştur. Tüm Birlik, koroutin olarak adlandırılır ve oluşturulan yineleyiciyi ve ondan döndürülen değerleri, kodunuzun yürütülmesinde engellemeyen gecikmelere neden olacak şekilde işler.
WaitForSeconds
beyan edilmemiş olmasıdır. WaitForSeconds
Bir float argümanı alan ve uyguladığınız numaralandırmanın öğe türünü döndüren adlı bir yöntemi bildirir bildirmez , yeniden derlenir. Bu nedenle, yield
Birliğe özel değildir. Bir şey varsa, WaitForSeconds
yöntem Unity'ye özeldir, ancak o zaman bile, C # dilini genişletmez , ancak standart C # kullanılarak yazılan ekstra bir yöntemdir.
yield return true
Özel bir şey yapıp yapmadığından emin değilim . Amayield return null
sadece bir çerçeve için duraklar, bu yüzdenyield return false
tam olarak aynı etkiye sahip olduğundan şüpheleniyorum (ayrıcayield return 0
0 yanlış boş başlık altında aynıdır)