Devlet makineleri, bileşen tabanlı mimarilerde zararlı bağımlılıklara neden gibi görünüyor.
Özellikle bir durum makinesi ile durumla ilgili davranışlarda bulunan bileşenler arasında iletişim nasıl yapılır?
Neredeyim:
- Bileşen tabanlı mimarilerde yeniyim.
- Önemli olduğunu düşünmeme rağmen, dövüş oyunu yapıyorum. Durum makinemin "çömelme", "kısa çizgi", "engelleme" vb. Durumları değiştirmek için kullanıldığını düşünüyorum.
- Bu durum yönetimi tekniğini, bileşen tabanlı bir mimari için en doğal sistem olarak buldum, ancak okuduğum tekniklerle çelişiyor: Değişken Davranış Karakterleri için Dinamik Oyun Nesnesi Bileşen Sistemi Tüm bileşenlerin etkinleştirilmesini / devre dışı bırakılmasını önermektedir. aktivasyon için sürekli olarak bir koşulu kontrol ederek kendilerini.
- "Koşmak" veya "yürümek" gibi eylemlerin burada kabul edilen yanıtla uyuşmayan devletler olarak anlamlı olduğunu düşünüyorum: /gamedev//a/7934
Bunu faydalı buldum ama belirsiz buldum: Bir bileşen tabanlı oyun mimarisinde davranış nasıl uygulanır? Durum makinesinden başka bir şey içermeyen ayrı bir bileşene sahip olmayı önerir. Ancak, bu, durum makinesi bileşeni ile neredeyse tüm diğer bileşenler arasında bir çeşit bağlantı gerektirmektedir. Bu kuplajın nasıl kullanılması gerektiğini anlamıyorum. Bunlar bazı tahminler:
A. Bileşenler durum makinesine bağlıdır:
BileşenlergetState()
bir numaralandırma sabiti veren durum makinesi bileşenlerine referans alır . Bileşenler kendilerini düzenli olarak günceller ve gerektiğinde kontrol eder.B. Durum makinesi bileşenlere bağlıdır:
Durum makinesi bileşeni, izlediği tüm bileşenlere referans alır.getState()
Nerede olduklarını görmek için yöntemlerini sorgular .C. Aralarında bazı soyutlamalar
Bir olay merkezi kullanın? Komuta düzeni?D. Bileşenler
Durum Deseni'ne başvuran ayrı durum nesneleri kullanılır. Bir dizi bileşeni etkinleştiren / devre dışı bırakan ayrı durum nesneleri oluşturulur. Durum makinesi durum nesneleri arasında geçiş yapar.Bileşenlere yönlerin bir uygulaması olarak bakıyorum . Bu yönü ortaya çıkarmak için dahili olarak ihtiyaç duyulan her şeyi yaparlar. Diğer bileşenlere güvenmeden bileşenlerin kendi başlarına çalışması gerektiği gibi görünüyor. Bazı bağımlılıkların gerekli olduğunu biliyorum, ancak devlet makineleri tüm bileşenleri kontrol etmek istiyor gibi görünüyor.