Tekrar: Kapı Durumları
Coddy'nin Unity Journey'sinin Unity'de Oyun Mimarisi bölümünün bir parçası. Ders 32 / 50.
Görev
OrtaKilitli bir kale kapısı. Oklar Player karakterini hareket ettirir ve altın Key, oyuncu onu aldığında door.Unlock() çağrısı yapar (ikisi de hazır). IState ve bölümdeki StateMachine projede mevcut. Door.cs dosyasında Inspector değerleri (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), bir machine alanı ve PlayerNear() bulunur. Kapıya, DoorStates.cs dosyasında sınıflar olarak tanımlanmış şu beş durumu ver:
- Kapı Kilitli başlar. Yakınındayken Boşluk tuşuna basılması (
PlayerNear()) yalnızcaLockedmesajını günlüğe kaydeder.Unlock(), kilitli kapıyı Kapalı duruma getirir ve diğer durumlarda hiçbir şey yapmaz. - Kapalı: Kapının yakınındayken Boşluk tuşuna basmak kapının açılmasını başlatır.
- Açılıyor: Kapı, y değeri
openYolana kadarspeedhızında yükselir; ardından Açık duruma geçer. - Açık:
stayOpensaniye sonra kapanmaya başlar. - Kapanıyor: Kapı, y değeri
closedYolana kadarspeedhızında alçalır; ardından Kapalı duruma geçer. Aşağı inerken yakınındayken Boşluk tuşuna basılırsa, bulunduğu konumdan yeniden açılır.
Play'e bas, kilitli kapıyı dene, anahtarı al, kapıyı açıp içinden geç, ardından Check'e bas.
Kendin dene
using UnityEngine;
// LockedState, ClosedState, OpeningState, OpenState ve ClosingState
Unity'de Oyun Mimarisi bölümündeki tüm dersler
1Hiyerarşiler Değil, Bileşenler
Küçük BileşenlerTemel Bir Düşman BetiğiSoyut BileşenlerBirlikte Çalışan BileşenlerÖzet: Modüler Taret4Serileştirilmiş Veriler
Serileştirilebilir SınıflarInspector'da ListelerInspector'da Enum'larÖzet: Ganimet Tablosu7Durum Makineleri
Sınıflar Olarak DurumlarBir Durum MakinesiGeçişlerDüşmanların Yapay ZekâsıTekrar: Kapı Durumları10Proje: Arena Hayatta Kalma
KahramanDüşman Türleri5ScriptableObjects
Veri VarlıklarıSilah İstatistikleriPaylaşılan AyarlarVeri Olarak DalgalarTekrar: Eşya Veritabanı8Yeniden Kullanılabilir Kod
Genişletme MetotlarıGeneric SingletonGeneric YardımcılarTekrar: FindNearest