首先,我想說的是我的問題更多的是關於設計一個比遊戲開發更好的面向對象的系統。我正在製作太空射擊遊戲,有子彈,敵人,大石塊和太空船(玩家)等物體。我有一個碰撞管理器(靜態類),每個幀檢查碰撞。爲了從子彈到飛船或敵人我這樣做傳「效果」:碰撞管理器中的遊戲對象之間的關係
Interface IHit
{
Action<BaseGameSprite> GetEffect();
}
*例如子彈類我做:
return new Action<ICollisionInterest>(gameobject =>
{
gameobject.LifePoints -= Damage;
});
,並在碰撞經理,如果他發現了衝突
TheHitObject.GetEffect()(HittenObject);
解決方案的工作,但我不知道這是否是一個好的設計,因爲GetEffect()完全打破封裝,似乎子彈可以做任何他想要的HittenOb ject(宇宙飛船,或敵人)。所以我的問題是:這是一個很好的設計?或者我應該使用不同的東西?
非常鼓舞人心的答案。我搜索了一下,並找到了一個與c#代碼示例有關的interresting文章:http://www.richardlord.net/blog/what-is-an-entity-framework – Larry
感謝您提供的信息,但請您檢查我的設計不好,爲什麼。我知道它不如我將學習的實體系統好,但我必須知道它是否非常糟糕。 – Michael