我正在用Java編寫一個簡單的遊戲,但我試圖用一個漂亮乾淨的設計來做'正確',而且沒有黑客。面向對象的遊戲設計問題
我有兩個類GamePanel
接收點擊和按鍵和Model
其中包含所有的實體,並負責其更新。該模型需要知道用戶的鼠標在哪裏,但我不能決定「正確」的方式來做到這一點。
如若Model
每Entity
內保持一個參考GamePanel
或只是緩存最後已知鼠標位置和接收定期GamePanel
更新。在創建模型時的第一個選項中,需要給出對GamePanel
的引用,第二個最後一個鼠標位置將作爲參數發送給World.update()
方法。
這些解決方案看起來都不那麼優雅,所以我想知道是否有一種「正確」的方式來做到這一點,我錯過了。
謝謝, 本。
好問題,+1。 – 2009-07-17 20:49:04
所以我認爲共識是,如果鼠標位置只是偶爾需要使用觀察者或事件監聽器,並且如果在大多數更新中需要鼠標位置,那麼給該模型一個對面板的引用,以便它可以輪詢它? – 2009-07-17 21:45:48