Published on: 2021-06-18
衝突判定には以下の2種類があり、それぞれ hitbox が異なる:
なお、弾、自機、オブジェクト座標は全て hitbox の左上隅のピクセルを指す。
弾 hitbox は (6,6), 物 hitbox は (13,13) である。
この衝突判定コードは $B050
にある。
x方向について場合分けすると以下のようになっている:
(弾x) <= (物x)
のとき、(物x) - (弾x) < 6
で hit(弾x) > (物x)
のとき、(物x) - (弾x) >= -12
で hity方向についても同様。ここから前述の hitbox が得られる。
ちなみに、レーザーを構成する弾は縦方向に 8px 間隔で並んでいるため、敵1体に対して 1F 内に撃ち込める弾数は 3 が上限となる。
自機 hitbox は (14,14), オブジェクト hitbox は (15,15) である。
この衝突判定コードは $B067
にある。
x方向について場合分けすると以下のようになっている:
(自機x) <= (オブジェクトx)
のとき、(オブジェクトx) - (自機x) < 14
で hit(自機x) > (オブジェクトx)
のとき、(オブジェクトx) - (自機x) >= -14
で hity方向についても同様。ここから前述の hitbox が得られる。