Muhtemelen basit bir klavye ve fare olayları, dokunma olayları veya ivmeölçer girişi olarak bir şey olabilir, bir geliştirici giriş ile uğraşmak zorunda her oyunda. Bu giriş, dolaylı olarak oyundaki nesneleri doğrudan etkiler. Bazen aynı giriş farklı nesneleri etkileyebilir. Şimdi bunun nasıl modelleneceğini düşünüyordum. Gördüğüm gibi iki farklı yaklaşım var.
Oyun nesnesinin kendisini halletmesine, olaylara abone olmasına ve kendi yöntemlerini çağırmasına izin verin. Bu, oyun nesnelerinin hangi girdilerin hangi eyleme neden olduğuna karar vermelerine izin verme avantajına sahiptir. Bir dezavantaj, giriş kodunun "çekirdek" oyun nesnesi koduyla karıştırılmasıdır. Ayrıca oyun nesneleri oyunun geri kalanının durumundan habersizdir ve bazen giriş olaylarına göre hareket etmemelidir. Bu doğru görünmüyor.
Genel bir giriş denetleyicisinin tüm girdilere dikkat etmesini ve kimin hangi olayla başa çıkacağına karar vermesini sağlayın. Bu, endişeleri daha iyi ayırıyor gibi görünüyor, ancak giriş denetleyici sınıfını oyun nesnelerine sıkıca bağlar. Bir şekilde kimin hangi olayı ve hangi durumda almak istediğini bilmek gerekir. Bu da doğru görünmüyor.
Bununla başa çıkmak için hangi stratejileri kullanıyorsunuz?