CodeBlanks Logo Icon CodeBlanks

Özet - Coroutine

Coroutine kullanımını bir özet görevle pekiştirirsin.

Özet: Coroutine Sistemi

Bu grupta Unity'de zamana yayılan süreçleri yönetmenin anahtarı olan Coroutine sistemini öğrendiniz. IEnumerator dönüş tipiyle tanımlanan metotlar, yield return null ile kare bazlı veya WaitForSeconds ile saniye bazlı duraklatılır.

// Coroutine yaşam döngüsü özeti:
// IEnumerator DoWork() -> yield return new WaitForSeconds(1f)
// Coroutine job = StartCoroutine(DoWork())
// StopCoroutine(job)

StartCoroutine ile başlatılan görevler, gerektiğinde StopCoroutine ile erkenden iptal edilerek performanslı ve temiz kod mimarisi elde edilir.

Uygulama Tam coroutine profilini yazdır

routine ("Countdown"), wait ("WaitForSeconds") ve action ("StartCoroutine") değişkenlerini tanımla. Ekrana Routine: Countdown | Wait: WaitForSeconds | Launcher: StartCoroutine yazdır.

Başlangıç kodu

Player.cs
using System;

class Program
{
    static void Main()
    {
        // routine, wait ve action değerlerini tanımlayıp yazdır
    }
}

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string routine = "Countdown";
        string wait = "WaitForSeconds";
        string action = "StartCoroutine";
        Console.WriteLine("Routine: " + routine + " | Wait: " + wait + " | Launcher: " + action);
    }
}

Beklenen çıktı

Routine: Countdown | Wait: WaitForSeconds | Launcher: StartCoroutine

Soru ve cevaplar

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

1 Coroutine mekanizmasının temel çalışma prensibi hakkında verilen ifadelerden hangisi doğrudur?

  • Ayrı bir işletim sistemi iş parçacığında (thread) çalışır ve Unity API'lerine erişemez.
  • Yalnızca void döndürebilir ve Update fonksiyonunun tamamen yerini alır.
  • Sadece 3D nesnelerin poligon sayısını düşürmek amacıyla kullanılan bir render algoritmasıdır.
  • IEnumerator döndürür, yield ile duraklayıp sonraki karede devam edebilir ve StartCoroutine ile başlatılır. Doğru cevap

Açıklama: Coroutine'ler IEnumerator döndürür, yield ile bekletilir ve ana iş parçacığında StartCoroutine ile yürütülür.

2 Yarım saniye bekleme nesnesi oluştur

Soru
IEnumerator FadeOut() { yield return new ____(0.5f); }
Cevap
IEnumerator FadeOut() { yield return new WaitForSeconds(0.5f); }

Açıklama: Zaman bazlı gecikme oluştururken WaitForSeconds sınıfı kullanılır.

3 Coroutine genel özeti

Kavram Anlamı
IEnumerator Coroutine dönüş tipi
yield return null Sonraki kareye kadar bekle
StartCoroutine Coroutine'i çalıştırır
StopCoroutine Coroutine'i sonlandırır

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