我對一個簡單的遊戲體系結構有一種普遍的疑問。 在我的遊戲中,我有這些類:Libgdx:創建其他對象的對象
- 主要負責繪圖和渲染的類。
- 有幾個屬性的Ball對象和執行某些事情的update()函數。
主類有一個所有存在的ball實例的數組,render()函數負責運行所有這些實例並調用它們的update()。 另外,主類還有創建另一個實例的createBall()函數。我們假設其中一個實例想要在遊戲中創建另一個球(通過他的update())。 哪種方式是這樣做的正確方法:
- 每一個球在他的構造函數獲取主類實例(主類創建時,它傳遞給自己的球),並調用main.createBall();
- 每個球都有一系列「請求」,主隊讀取並理解球想要創建什麼。
它應該是一個通用的問題,因爲它定義了實例與主類通信的方式。
謝謝!
好的,Ball實例將調用BallFactory.addRequest()(它添加到BallFactory所具有的請求數組中),Main類將通過render()中的數組運行,並根據請求創建實例? –
其實,爲什麼沒有Main調用BallFactory的一個方法來處理列表呢?這樣Main不需要在其中添加任何額外的代碼。所以...... Ball會調用addRequest(),Main會調用processRequests() –
所以基本上processRequests()會根據它的私有請求列表調用main.createBall()。 –