CodeBlanks Logo Icon CodeBlanks

Meydan okuma 4: Çarpışma bildirimi

OnCollisionEnter ile çarpışma bildiren C# scripti yazarsın.

Meydan okuma 4: Çarpışma bildirimi

Fizik motorunda iki katı Collider temas ettiğinde OnCollisionEnter geri çağrım metodu tetiklenir. Bu metot çarpışılan cismin adı, darbe noktası ve hız verilerini Collision parametresiyle script'e sunar.

void OnCollisionEnter(Collision collision) {
    Debug.Log("Çarpışılan nesne: " + collision.gameObject.name);
}

Düşmana çarpma, mermi isabeti veya duvara toslama senaryolarında oyun tepkileri bu fonksiyon içinde başlatılır.

Uygulama Çarpışılan engeli yazdır

obstacle değişkenine "Obstacle" değerini ata ve ekrana Collision: Obstacle yazdır.

Başlangıç kodu

Player.cs
using System;

class Program
{
    static void Main()
    {
        // obstacle değişkenini tanımlayıp çarpışmayı yazdır
    }
}

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string obstacle = "Obstacle";
        Console.WriteLine("Collision: " + obstacle);
    }
}

Beklenen çıktı

Collision: Obstacle

Uygulama Hedef ve engel türünü yazdır

target değişkenine "Spike", type değişkenine "Hazard" ata. Ekrana Hit: Spike | Type: Hazard yazdır.

Başlangıç kodu

Player.cs
using System;

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

Örnek çözüm

Player.cs
using System;

class Program
{
    static void Main()
    {
        string target = "Spike";
        string type = "Hazard";
        Console.WriteLine("Hit: " + target + " | Type: " + type);
    }
}

Beklenen çıktı

Hit: Spike | Type: Hazard

Soru ve cevaplar

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

1 OnCollisionEnter fonksiyonuna Unity tarafından iletilen Collision parametresi ne tür bilgiler barındırır?

  • Çarpışılan nesneyi, temas noktalarını ve darbe şiddetini Doğru cevap
  • Yalnızca ekran kartının anlık sıcaklık ve bellek durumunu
  • Projedeki tüm ses dosyalarının toplam çalma süresini
  • Sadece oyunun o anki kare hızı (FPS) sayısını

Açıklama: Collision nesnesi temas eden GameObject referansı, temas yüzeyleri ve temas hızını içeren kapsamlı fizik bilgisidir.

2 Çarpışma parametre tipini belirt

Soru
void OnCollisionEnter(____ collision)
Cevap
void OnCollisionEnter(Collision collision)

Açıklama: OnCollisionEnter metodu çarpışma verilerini Collision sınıfı türünden bir parametre olarak kabul eder.

3 Çarpışma bildirim ögeleri

Kavram Anlamı
OnCollisionEnter İlk temasta çalışan fizik metodu
Collision Temas ve nesne verisi taşıyan sınıf
gameObject.name Nesnenin Hierarchy'deki adı
Debug.Log Çarpışma anında konsola bildirim yazar

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