CodeBlanks Logo Icon CodeBlanks

WaitForSeconds

WaitForSeconds ile bir coroutine'i bekletmeyi öğrenirsin.

WaitForSeconds ile zaman gecikmesi

Bir coroutine'in kare bazında değil, gerçek süre olarak belirli bir saniye beklemesi istendiğinde WaitForSeconds kullanılır. yield return new WaitForSeconds(2.0f); satırı işlemi tam 2 saniye boyunca duraklatır.

IEnumerator ReloadWeapon() {
    Debug.Log("Şarjör değiştiriliyor...");
    yield return new WaitForSeconds(2.5f);
    Debug.Log("Şarjör takıldı!");
}

Silah doldurma, büyü bekleme süreleri (cooldown) ve diyaloğun ekranda kalma süresi bu şekilde yönetilir.

Time.timeScale ve WaitForSecondsRealtime

WaitForSeconds oyunun iç zamanı olan Time.timeScale değerine bağlıdır; oyun duraklatıldığında (timeScale = 0) bekleme süresi de donar.

// Oyun dursa dahi çalışan gerçek zamanlı bekleme
yield return new WaitForSecondsRealtime(1.0f);

Oyun duraklatma menüsü animasyonlarında veya gerçek dünya saatini baz alan işlemlerde WaitForSecondsRealtime tercih edilir.

Uygulama Gecikme süresi bilgisini yazdır

delay değişkenine "2.5", unit değişkenine "Seconds" ata. Ekrana Delay: 2.5 | Unit: Seconds yazdır.

Başlangıç kodu

Player.cs
using System;

class Program
{
    static void Main()
    {
        // delay ve unit değerlerini tanımlayıp yazdır
    }
}

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string delay = "2.5";
        string unit = "Seconds";
        Console.WriteLine("Delay: " + delay + " | Unit: " + unit);
    }
}

Beklenen çıktı

Delay: 2.5 | Unit: Seconds

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Unity'de bir coroutine'i oyun zamanına bağlı olarak 3 saniye duraklatmak için hangi ifade kullanılır?

  • System.Threading.Thread.Sleep(3000);
  • yield return new WaitForSeconds(3f); Doğru cevap
  • yield return 3;
  • wait.Seconds(3);

Açıklama: yield return new WaitForSeconds(3f), Unity'de oyun süresine bağlı olarak 3 saniye bekleme sağlayan nesnedir.

2 Saniye cinsinden gecikme nesnesi oluştur

Soru
yield return new ____(1.5f);
Cevap
yield return new WaitForSeconds(1.5f);

Açıklama: Saniye bazlı bekleme gerçekleştirmek için WaitForSeconds sınıfı örneklenir.

3 Zaman gecikmesi terimleri

Kavram Anlamı
WaitForSeconds Oyun süresine bağlı saniye bekletir
WaitForSecondsRealtime Gerçek zamanlı saniye bekletir
Time.timeScale = 0 Oyun zamanını duraklatır
Delay İşlemler arası zaman aralığı

Orta seviye bölümündeki tüm dersler