Özet - Envanter sistemi
- Oyun Geliştirme kursu
- İleri seviye
- Ders 30/71
- 4 dk
Envanter sistemini tek bir özet görevle birleştirirsin.
Envanter sistemi özeti
Envanter sistemi üç katmandan oluşur: veri, mantık ve arayüz. Öğe bilgileri ItemData ile saklanır, Inventory sınıfı slot'ları yönetir, arayüz ise prefab slot widget'larla çizilir. Aynı öğeler stack olarak birleştirilir.
int toplamYigin = birAdet + ikiAdet;Modüler tasarım sayesinde her katman bağımsız geliştirilebilir.
Uygulama Envanter sistemi özeti
EnvanterOzet sınıfında string katman alanını "Veri" ve int slotSayisi alanını 20 değerleriyle, ayrıca int islem alanını tanımla. Awake metodu içinde katman değerini "Arayuz" yap. Start metodu içinde Debug.Log ile "Katman: ", katman, " Slot: " ve slotSayisi parçalarını birleştirerek yazdır. Update metodu içinde islem sayacını her karede bir artır.
Başlangıç kodu
using UnityEngine;
public class EnvanterOzet : MonoBehaviour
{
// string katman alanini "Veri", int slotSayisi alanini 20 degeriyle tanimla
// int islem alanini tanimla
void Awake()
{
// katman degerini "Arayuz" yap
}
void Start()
{
// "Katman: " + katman + " Slot: " + slotSayisi biciminde yazdir
}
void Update()
{
// islem sayacini her karede bir artir
}
}Örnek çözüm
using UnityEngine;
public class EnvanterOzet : MonoBehaviour
{
string katman = "Veri";
int slotSayisi = 20;
int islem;
void Awake()
{
katman = "Arayuz";
}
void Start()
{
Debug.Log("Katman: " + katman + " Slot: " + slotSayisi);
}
void Update()
{
islem++;
}
}Beklenen çıktı
Katman: Arayuz Slot: 20
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Envanter sisteminde 'stack' ne işe yarar?
int toplamYigin = birAdet + ikiAdet;- Slot sayısını artırır
- Öğeleri sahneye yerleştirir
- Arayüzün rengini değiştirir
- Aynı öğeleri tek slot'ta toplar Doğru cevap
Açıklama: Stack, aynı türdeki öğeleri tek slot altında toplayarak slot harcamadan taşınmasını sağlar.
2 Maksimum öğe sayısını hesapla
int slotSayisi = 20;
int yiginLimiti = 10;
int maksimumOge = slotSayisi * ____;
int slotSayisi = 20;
int yiginLimiti = 10;
int maksimumOge = slotSayisi * yiginLimiti;
Açıklama: Toplam kapasite, slot sayısı ile her slotun yığın limiti çarpılarak bulunur.
3 Envanter özeti tablosu
| Kavram | Anlamı |
|---|---|
ItemData |
Öğe bilgisini tutan veri |
Inventory |
Slot'ları yöneten sistem |
Stack |
Aynı öğeleri birleştirme |
Slot widget |
Arayüzdeki slot gösterimi |