衝突処理の設計
衝突判定処理ができたので、次は実際にそれを呼び出す処理を作って行きます。
アクションゲームなので、キャラクタと攻撃の衝突があります。
それと、キャラクタ同士も衝突をします。
ですので、先ずはキャラクタ同士の衝突処理を作成する事にします。
前回の衝突判定のテストは設計を考えるようなものではなかったので設計を行いませんでしたが
今回は複数のクラスが関係してきますので設計を行います。
設計はUMLで行います。
ツールはastahのコミュニティ版を使わせて頂く事にしました。
UMLを描く前にやりたい事を整理すると
- キャラクタが持つ自分の衝突範囲を衝突判定処理クラスに登録する(2体分)
- 衝突判定処理クラスがキャラクタ同士の衝突を検知したら、衝突したキャラクタに衝突情報を通知する
このようになります。
そしてこのやりたい事からクラスを抽出すると
- キャラクタ : Character
- 衝突範囲 : CollisionArea
- 衝突判定処理クラス : CollisionDetection
こうなりました。
CollisionAreaとCollisionDetectionは既に作ってありますね。
そして、これらをクラス図にすると以下のようになりました。
次はどのように処理を行うのかを考えようかと思います。
今回のタグは以下になります。
blog_20140202
※クラス図が表示されていなかったので、上げ直しました。