JavaScript で開発しているゲームのクラス階層を理解するのに助けが必要です。このゲームは、(基本的なレベルで) 背景、プレイヤー、弾丸、敵がいるトップダウンのスペース シューティング ゲームです。
改善する必要があると思われるクラス図を思いつきました:

メイン クラスは Cosmos (ゲームの名前) と呼ばれ、tick()1 秒あたり約 60 回起動するメソッドがあります。Background、PlayerおよびEnemyクラスはに属しCosmos、Bulletクラスはクラスに属します。これは、 が を「所有する」Playerためです。PlayerBullet
ただし、この図で頭に浮かぶ大きな問題が 1 つあります。それは、プレイヤーの弾丸と敵の間の衝突検出を行う方法です。Player弾丸のxandyを渡しCosmosて で衝突検出を行うメソッドをクラスに書くこともできますCosmosが、それは最善の方法とは思えません。Cosmosきちんと整理されたアプローチをしようとしているのであれば、衝突検出を行っても問題ないでしょうか?
私の生活を楽にするためにあなたが加えることができる他の変更も大歓迎です.
