Bu bir tasarım sorusu ... Bunun daha genelleştirilebileceğinden eminim, ama bununla zorlanıyorum. Oyun nesnesi etkileşimleri için tasarım merak ediyorum - işte benim örneğim (2D bulmaca platformer).
Diyelim ki oyuncu bir seviyede ilerlemeye çalışıyor. Farklı yönlere işaret edebilecek birçok ışık var. İşte bu hafif nesnelerin nasıl etkileşime girebileceğine dair bir örnek ...
- Bir ışık, oyuncunun bir boşluğu geçmesine izin veren bir platform yansıtır
- Bir ışık dokunduğu her şeyin sürtünme katsayılarını azaltır, diğeri ise onu artırır
- Bir ışık tüm ışıkların etkilerini, bu ışık açıkken platformun kaybolmasını ve sürtünme değiştiricilerini geçersiz kılmasını sağlar.
- Vb...
Bileşen mimarisini kullanırken bu soruna yaklaşmanın en iyi yolu nedir? Her büyük nesne için bileşenler açıktır ve bunların çevre üzerindeki etkilerini tanımlamanın temiz bir yolu vardır. Etkileşimi "çözmek" için bir sınıf (bu hızla karışıklık haline gelebilir gibi görünüyor)? Dekoratör deseninin belirli bir zamanda etkileşimde bulunanlar için birleştirilmiş nesneler oluşturmak için bir miktar kullanımı? Kendine borç veren bir veri yapısı mı?
Ayrıca, bu etkileşimlere ses bağlamak? Sesi sisteme bağlamak, görünürlük veya oyuncu hareketi / çarpışma gibi başka bir özelliği bağlamak gibi görünmektedir.
Açıkçası, daha fazla bileşen eklendikçe, yenilerini çok az modifikasyonla başa çıkabilecek sağlam bir sistem olsaydı iyi olurdu, ancak bunu nasıl tasarlayacağımı bilmiyorum.
Diğer Bilgiler: Kullandığım motor IceCream adlı bir XNA motorudur .