CodeBlanks Logo Icon CodeBlanks

Trigger olayları

IsTrigger ile OnTriggerEnter ve tetikleyici alanları öğrenirsin.

Trigger (Tetikleyici) olayları

Collider üzerindeki Is Trigger onay kutusu işaretlendiğinde nesne katı fiziksel engel özelliğini kaybeder. Diğer nesneler bu hacmin içinden engellenmeden geçer ancak temas yazılımsal olarak algılanır.

// Collider'ı tetikleyiciye çevirme
Collider col = GetComponent<Collider>();
col.isTrigger = true;

Altın toplama, kontrol noktası (checkpoint) veya kapı açma dedektörleri tipik olarak Trigger şeklinde tasarlanır.

OnTriggerEnter ve Parametre Farkı

Tetikleyici bir alana girildiğinde OnTriggerEnter(Collider other) çalışır. Bu metot OnCollisionEnter'dan farklı olarak Collision yerine doğrudan giren nesnenin Collider referansını parametre alır.

void OnTriggerEnter(Collider other) {
    if (other.CompareTag("Player")) {
        Debug.Log("Ödül toplandı!");
    }
}

Nesne alandan ayrıldığında ise OnTriggerExit(Collider other) geri çağrımı tetiklenir.

Uygulama Tetikleyici durumunu yazdır

triggerType değişkenine "OnTriggerEnter" ve zoneName değişkenine "Checkpoint" değerini ata. Ekrana Trigger: OnTriggerEnter | Zone: Checkpoint yazdır.

Başlangıç kodu

Player.cs
using System;

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

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string triggerType = "OnTriggerEnter";
        string zoneName = "Checkpoint";
        Console.WriteLine("Trigger: " + triggerType + " | Zone: " + zoneName);
    }
}

Beklenen çıktı

Trigger: OnTriggerEnter | Zone: Checkpoint

Soru ve cevaplar

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

1 Toplanabilir bir nesne (ör. coin) oluştururken Collider neden 'Is Trigger' olarak ayarlanır?

  • Oyuncunun nesnenin içinden geçebilmesi ve temasın algılanması için Doğru cevap
  • Yer çekimini iki katına çıkarıp nesneyi yere çivilemek için
  • Sahnedeki tüm ses kaynaklarını durdurup oyunu dondurmak için
  • Nesnenin materyal ve gölge hesaplamasını tamamen kapatmak için

Açıklama: Is Trigger, nesnenin fiziksel olarak çarpmayıp içinden geçilmesine izin verirken temas olayını algılar.

2 IsTrigger özelliğini ayarla

Soru
collider.____ = true;
Cevap
collider.isTrigger = true;

Açıklama: Bir Collider'ı tetikleyici yapmak için isTrigger özelliği true değerine eşitlenir.

3 Trigger terimleri

Kavram Anlamı
Is Trigger Collider'ı algılama alanına çevirir
OnTriggerEnter Tetikleyiciye girişte çalışır
OnTriggerExit Tetikleyiciden çıkışta tetiklenir
Collider other Giren nesnenin çarpışma bileşeni

Başlangıç bölümündeki tüm dersler