私はJavaで単純なゲームをプログラミングしていますが、私はそれを「いい」クリーンなデザインとハックなしでしようとしています。オブジェクト指向のゲームデザインの質問
私は、クリックとキー押しを受け取る2つのクラスGamePanel
と、すべてのエンティティを含み、その更新を担当するModel
があります。モデルはユーザーのマウスがどこにあるかを知る必要がありますが、私はそれを行うための「正しい」方法を決めることができません。
はModel
、すべてのEntity
は内GamePanel
への参照を保持するか、単に最後の既知のマウスの位置をキャッシュし、定期的にGamePanel
から更新を受けなければなりません。モデルが作成されたときの最初のオプションでは、GamePanel
への参照が与えられ、最後のマウス位置はWorld.update()
メソッドへのパラメータとして送信されます。
どちらの解決策もエレガントではないので、これを行うための「正しい」方法があるかどうか疑問に思っていました。
ありがとう、 ベン。
良い質問、+1。 –
だから私はコンセンサスは、マウスの位置がObserversやEvent Listenersを必要とするだけで、マウスの位置が必要な場合、モデルをポーリングできるようにモデルにパネルへの参照を与えるのですか? –