Difference between revisions of "BoundingBox.lua (日本語)"
m (→Other languages) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | このスクリプトは軸により整列された境界ボックス (AABB) の衝突検出で使用されます。それは二つの矩形オブジェクトが重なっているか検査をします。そうなる場合は true を返しますが、それ以外 (そうでなければ) は false です。 | |
− | + | 長方形ではない形状、または回転する長方形、それらの形状を満たしていない空間からのものであり、衝突対象の長方形の一部である場合、または代わりに領域外で存在する部品である場合があるため、この衝突検出方法は大量の円形および非矩形があるゲームには適していません。 | |
+ | |||
+ | しかしながら、これはインベーダー・ゲームのクローンといったゲームに対しては良好に動作します。 | ||
<source lang="lua"> | <source lang="lua"> | ||
-- 衝突検出関数。 | -- 衝突検出関数。 | ||
-- true が返されたときは二つの矩形オブジェクトが重なっており、それ以外は false です。 | -- true が返されたときは二つの矩形オブジェクトが重なっており、それ以外は false です。 | ||
− | -- x1,y1 | + | -- x1,y1 は第一ボックスの左上の座標であり、一方の w1,h1 は幅と高さです。 |
− | -- x2,y2,w2 および h2 | + | -- x2,y2,w2 および h2 は同一ですが、第二ボックス用です。 |
function CheckCollision(x1,y1,w1,h1, x2,y2,w2,h2) | function CheckCollision(x1,y1,w1,h1, x2,y2,w2,h2) | ||
return x1 < x2+w2 and | return x1 < x2+w2 and | ||
Line 15: | Line 17: | ||
end | end | ||
</source> | </source> | ||
+ | |||
+ | == そのほかの言語 == | ||
+ | |||
+ | {{i18n|BoundingBox.lua}} | ||
[[Category:Snippets (日本語)]] | [[Category:Snippets (日本語)]] | ||
+ | {{#set:LOVE Version=any}} | ||
+ | {{#set:Description=軸により整列された境界ボックスに基づく衝突検出関数です。}} |
Latest revision as of 08:01, 22 June 2023
このスクリプトは軸により整列された境界ボックス (AABB) の衝突検出で使用されます。それは二つの矩形オブジェクトが重なっているか検査をします。そうなる場合は true を返しますが、それ以外 (そうでなければ) は false です。
長方形ではない形状、または回転する長方形、それらの形状を満たしていない空間からのものであり、衝突対象の長方形の一部である場合、または代わりに領域外で存在する部品である場合があるため、この衝突検出方法は大量の円形および非矩形があるゲームには適していません。
しかしながら、これはインベーダー・ゲームのクローンといったゲームに対しては良好に動作します。
-- 衝突検出関数。
-- true が返されたときは二つの矩形オブジェクトが重なっており、それ以外は false です。
-- x1,y1 は第一ボックスの左上の座標であり、一方の w1,h1 は幅と高さです。
-- x2,y2,w2 および h2 は同一ですが、第二ボックス用です。
function CheckCollision(x1,y1,w1,h1, x2,y2,w2,h2)
return x1 < x2+w2 and
x2 < x1+w1 and
y1 < y2+h2 and
y2 < y1+h1
end
そのほかの言語
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