我使用的是複合材料的設計在我目前的遊戲,效果很好。所有的遊戲對象是遊戲對象的實例或是它的直接後裔......一些對象實現一個特定的接口,如武器,讓他們可以「拿來主義」被其他物體或簡單地時,他們需要額外的共享數據/方法。不過,我現在正在開始將box2d整合到遊戲中,但在這種情況下,我遇到了組合問題。例如,精靈在精靈渲染組件和對象屬性(如材質)中呈現,在渲染過程中得到應用,但在諸如拋射物的情況下,我發現我需要實質上編碼兩次相同的東西:基礎射彈有'onFire','onExpire'等方法,因爲武器總是擁有射彈,因此直接調用這些方法。但是,試圖將這些數據與彈丸物理組件同步,看起來像是在浪費時間。我認爲,在這種情況下,我應該有可能使彈丸自己「擁有」物理體,其中作爲彈丸物理組件,將處理onCollision事件,以及更新的位置..這將只是似乎清潔劑給我。現在我當然意識到,在這樣做的時候,我明確地將彈丸對象與box2d耦合起來,但是爲了我的需要,這樣可以。組成及子彈
我真的想在此方面的投入,因爲截至目前,我只是有很多的努力使其他對象使用相同的複合材料設計問題,適合我的需要與彈丸。請注意,我並不擔心是一個複合最純粹的,我的目標是創建一個遊戲,而不是源引擎的二維等價物;)
我最終使彈丸自己的身體,你said..but我用組成原因,主要是讓所有的對象可以通過相同的管道,而無需做類型轉換處處傳遞......這也是爲什麼我使用子系統,以便對象的組件可以通過專門處理每種類型的系統進行註冊和更新。 – Xealgo