JavaScript で開発しているゲームのクラス階層を理解するのに助けが必要です。このゲームは、(基本的なレベルで) 背景、プレイヤー、弾丸、敵がいるトップダウンのスペース シューティング ゲームです。
改善する必要があると思われるクラス図を思いつきました:
メイン クラスは Cosmos (ゲームの名前) と呼ばれ、tick()
1 秒あたり約 60 回起動するメソッドがあります。Background
、Player
およびEnemy
クラスはに属しCosmos
、Bullet
クラスはクラスに属します。これは、 が を「所有する」Player
ためです。Player
Bullet
ただし、この図で頭に浮かぶ大きな問題が 1 つあります。それは、プレイヤーの弾丸と敵の間の衝突検出を行う方法です。Player
弾丸のx
andy
を渡しCosmos
て で衝突検出を行うメソッドをクラスに書くこともできますCosmos
が、それは最善の方法とは思えません。Cosmos
きちんと整理されたアプローチをしようとしているのであれば、衝突検出を行っても問題ないでしょうか?
私の生活を楽にするためにあなたが加えることができる他の変更も大歓迎です.