DistanceBasedCollision (日本語)
衝突検出を行うための別の方法です。この種類は完全に円弧にて動作します。 別方向にある単体オブジェクトの距離がそれらの合計未満かどうかを確認します (複数の半径)。
変数定義 : ax, ay = circleA の座標。 bx, by = circleB の座標。 ar, br = それぞれ CircleA および circleB の円弧
function checkCircularCollision(ax, ay, bx, by, ar, br)
local dx = bx - ax
local dy = by - ay
local dist = math.sqrt(dx * dx + dy * dy)
return dist < ar + br
end
余計な平方根関数は不要ですか? この他の関数を試してみてください
function checkCircularCollision(ax, ay, bx, by, ar, br)
local dx = bx - ax
local dy = by - ay
return dx^2 + dy^2 < (ar + br)^2
end
距離にて処理を行われることがわかっている sqrt 関数を保持します。
寄贈者
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info