キャンバスに多数のエンティティがあります。プレイヤー エンティティが食品エンティティに触れているかどうかを確認しています。プレーヤー エンティティはユーザーの入力に応じて移動し、食品エンティティは画面上をランダムにゆっくりと移動します。現在、私はこれをやっています:
for (var i = 0; i < foodPieces.length; i++) {
if (Math.abs(foodPieces[i].x - player.x) < (foodPieces[i].radius + player.radius)
&& Math.abs(foodPieces[i].y - player.y) < (foodPieces[i].radius + player.radius))
{
return true;
}
}
ただし、プレーヤーは通常、食品エンティティを早期に検出し、最大で 5 ~ 10 ピクセルほどずれます。それが重要な場合、食品エンティティの半径はある程度ランダム化され、プレーヤーのエンティティの半径はゲーム全体で増加します. 衝突が早期に検出される理由と、それを適切に検出する方法を理解しようとしています。何か案は?