Oyun Geliştirme
Meydan okuma 5: Final sentezi
Bu bölümün tüm kavramlarını birleştiren bir mini görev çözersin.
Bölümün panoraması
Bu bölümde dört farklı beceri bir araya geldi: nesneleri yeniden kullanan havuz yapısı, yalnızca veri tutan ECS bileşenleri, editör menüsü araçları ve Godot animasyon harmanlama. Hepsi aynı amaca hizmet eder: düzenli, verimli ve yönetilebilir kod yazmak. Sentez görevinde havuz, veri yapısı ve yaşam döngüsü birlikte kullanılır.
havuz.Enqueue("Nesne");
playback.travel("yurume");
Her parça tek başına basit, birlikte güçlüdür.
Uygulama Havuz ve veri
HavuzSentezi sınıfında havuz adında bir kuyruk alanı tanımla. Veri adında, adet alanına sahip bir veri yapısı tanımla. Start içinde Veri tipinde bir değişken oluştur, adet alanına 7 değerini ata, değişkeni kuyruğa ekle, Dequeue ile geri al ve Debug.Log ile "Adet: " metnini geri alınan verinin adet alanı ile yazdır.
Örnek çözümü göster
using UnityEngine;
using System.Collections.Generic;
public struct Veri
{
public int adet;
}
public class HavuzSentezi : MonoBehaviour
{
private Queue<Veri> havuz = new Queue<Veri>();
void Start()
{
Veri v = new Veri();
v.adet = 7;
havuz.Enqueue(v);
Veri alinan = havuz.Dequeue();
Debug.Log("Adet: " + alinan.adet);
}
}
Uygulama Final görev
FinalSentez sınıfında havuz adında bir kuyruk alanı ve sayac adında bir tam sayı alanı tanımla. Awake içinde havuza "Nesne" ekle. Start içinde havuzdan bir nesne al ve Debug.Log ile "Baslatildi" metnini yazdır. Update içinde sayac değerini her karede bir artır.
Örnek çözümü göster
using UnityEngine;
using System.Collections.Generic;
public class FinalSentez : MonoBehaviour
{
private Queue<string> havuz = new Queue<string>();
int sayac;
void Awake()
{
havuz.Enqueue("Nesne");
}
void Start()
{
string nesne = havuz.Dequeue();
Debug.Log("Baslatildi");
}
void Update()
{
sayac = sayac + 1;
}
}
Kendini test et
-
Bu bölümdeki konuların ortak amacı nedir?
- Verimli, düzenli ve yönetilebilir kod yazmak
- Yalnızca kod biçimini düzeltmek
- Sahnedeki ışık sayısını artırmak
- Oyun motorunu yeniden kurmak
Cevabı göster
Verimli, düzenli ve yönetilebilir kod yazmak — Bölümdeki tüm konular: nesne havuzu, ECS, editör araçları, animasyon harmanlama; daha verimli, düzenli ve yönetilebilir kod yazmak için kullanılır.
-
Havuzdan çıkarma
var nesne = havuz.____();
Cevabı göster
var nesne = havuz.Dequeue();
-
Sentez tablosu
- Object pooling
- Nesneleri yeniden kullanma yöntemi
- IComponentData
- ECS veri bileşeni
- MenuItem
- Editör menüsü aracı
- Harmanlama
- Animasyonları karıştırma işlemi
Sıradaki ders: Uzman bölüm sınavı