【モグラたたきゲーム】当たり判定を実装してみる①

画像1

crow crowと申します。よろしくお願いします。

●ハンマーの先に当たり判定用のRectオブジェクトを作る。

Rect hitBox(
    Cursor::Pos().x - (30 + hitBoxTransition.value() * 10),
    Cursor::Pos().y - 35 + (hitBoxTransition.value() * 80), 30, 15);

ハンマー画像の中心にカーソルがあり、それを中心にして位置を調整する。

hitBoxTransitionは、Transitionオブジェクトをハンマーの動作に使用していて、移動に合わせてhitBoxも位置を変える必要があるため座標計算している。

計算は、非常にブラックボックス(=トライアンドエラーで計算した)なので、もう少し説明のつく実装がしたかったけれど、力不足。

初めはPolygonクラスを使えば簡単じゃないか、と思ったが画像全体にポリゴンができるので当たり判定としては使えなかった。無理やり変形させることもないだろう・・と。(変形の仕方もわからないので)

画像2