CodeBlanks Logo Icon CodeBlanks

Meydan okuma 5: Final sentezi

Bu bölümün tüm kavramlarını birleştiren bir mini görev çözersin.

Orta Seviye Oyun Mimarisi Sentezi

Orta seviye oyun geliştirmede grafikler (3D mesh ve materyal), görsel efektler (Particle System), fizik simülasyonu ve kullanıcı arayüzü (UI) tek bir sistemde buluşur. Bir karaktere tıklandığında materyali parlar, parçacık efekti fırlar ve arayüzde skor güncellenir.

renderer.material = aktifMateryal;
particleSystem.Play();
Debug.Log("Etkileşim tamamlandı");

Uygulama Materyal ve Parçacık Sentezi

renderer.material = new Material("Altin"); ata ve ps.Play(); çağır. Sonuçları sırasıyla Debug.Log("Materyal: " + renderer.material.name); ve Debug.Log("Efekt: " + ps.isPlaying); ile yazdır.

Başlangıç kodu

Player.cs
using System;

public class Material
{
    public string name;
    public Material(string name) { this.name = name; }
}

public class MeshRenderer
{
    public Material material;
}

public class ParticleSystem
{
    public bool isPlaying = false;
    public void Play() { isPlaying = true; }
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        MeshRenderer renderer = new MeshRenderer();
        ParticleSystem ps = new ParticleSystem();
        // Materyal ata, efekti oynat ve durumlari yazdir
    }
}

Örnek çözüm

Player.cs
using System;

public class Material
{
    public string name;
    public Material(string name) { this.name = name; }
}

public class MeshRenderer
{
    public Material material;
}

public class ParticleSystem
{
    public bool isPlaying = false;
    public void Play() { isPlaying = true; }
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        MeshRenderer renderer = new MeshRenderer();
        ParticleSystem ps = new ParticleSystem();
        renderer.material = new Material("Altin");
        ps.Play();
        Debug.Log("Materyal: " + renderer.material.name);
        Debug.Log("Efekt: " + ps.isPlaying);
    }
}

Beklenen çıktı

Materyal: Altin
Efekt: True

Uygulama Final Durum Doğrulaması

if (canli) şartı sağlandığında renderer.material = new Material("Aktif"); ata ve Debug.Log("Durum: Hazir"); yazdır.

Başlangıç kodu

Player.cs
using System;

public class Material
{
    public string name;
    public Material(string name) { this.name = name; }
}

public class MeshRenderer
{
    public Material material;
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        bool canli = true;
        MeshRenderer renderer = new MeshRenderer();
        // Sart dogruysa materyal ata ve durum mesajini yazdir
    }
}

Örnek çözüm

Player.cs
using System;

public class Material
{
    public string name;
    public Material(string name) { this.name = name; }
}

public class MeshRenderer
{
    public Material material;
}

public static class Debug
{
    public static void Log(object message) => Console.WriteLine(message);
}

public class Program
{
    public static void Main()
    {
        bool canli = true;
        MeshRenderer renderer = new MeshRenderer();
        if (canli)
        {
            renderer.material = new Material("Aktif");
            Debug.Log("Durum: Hazir");
        }
    }
}

Beklenen çıktı

Durum: Hazir

Soru ve cevaplar

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

1 Bir oyun sahnesinde nesnenin materyal rengini değiştirip aynı anda parçacık patlaması başlatmak için hangi iki bileşen birlikte kullanılır?

  • Transform ve Rigidbody
  • Camera3D ve AudioSource
  • MeshRenderer ve ParticleSystem Doğru cevap
  • BoxCollider ve Light

Açıklama: Görsel yüzey görünümünü MeshRenderer, parçacık efektlerini ise ParticleSystem yönetir.

2 Efekti Başlat

Soru
efekt.____();
Cevap
efekt.Play();

Açıklama: ParticleSystem bileşenini kod üzerinden tetiklemek için Play metodu kullanılır.

3 Bölüm Kavramları Eşleştirmesi

Kavram Anlamı
MeshRenderer Geometriyi materyalle çizen bileşen
ParticleSystem VFX ve parçacık saçılımı sistemi
onClick.AddListener UI butonuna eylem bağlama yöntemi
emit_signal Olay tabanlı sinyal yayınlama çağrısı

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