ゲームの衝突検出を行っています。レベルは、それぞれ独自のバウンディングボックスを持つブロックからランダムに生成されます。私の衝突検出は問題ありませんが、プレイヤーの船が同時に2つ以上のブロックと衝突する可能性があり、どちらが1番目に当たったかを判断する必要があります。
船のバウンディングボックスの移動方向の角を見つけて、その角から船の移動ベクトルの反対方向に線を引くと(図の赤い線)、最も遠い交点であることがわかりました。その行の離れて最初のボックスヒットになります。そのロジックをプログラムする方法がわかりません!
私が一緒に仕事をしなければならないこと
- 衝突したバウンディングボックス(長方形)のリスト
- 船の動き(Vector2)
- 船のバウンディングボックス(Reactangle)