通常、キャンバス ゲームで衝突を検出するには、次のようなものを使用します。
function collides(a, b) {
return a.x < b.x + b.width &&
a.x + a.width > b.x &&
a.y < b.y + b.height &&
a.y + a.height > b.y;
}
ただし、これは、フレームの処理時にオブジェクトが接触している場合にのみ衝突を検出します。速度 (ピクセル/フレーム単位) がパス内の障害物の幅よりも大きいスプライトがある場合、衝突が検出されずに障害物を通過します。
スプライトとその宛先の間に何があるかを確認するにはどうすればよいですか?