Difference between revisions of "BoundingBox.lua"
Line 5: | Line 5: | ||
<source lang="lua"> | <source lang="lua"> | ||
-- Collision detection function. | -- Collision detection function. | ||
− | -- | + | -- Returns true if two boxes overlap, false if they don't |
− | -- | + | -- x1,y1 are the left-top coords of the first box, while w1,h1 are its width and height |
− | function CheckCollision( | + | -- x2,y2,w2 & h2 are the same, but for the second box |
− | + | 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 | end | ||
</source> | </source> | ||
[[Category:Snippets]] | [[Category:Snippets]] |
Revision as of 11:11, 17 November 2013
This script is used for Bounding Box Collision Detection. It will see if two rectangular objects over-lap. It returns true if there is a collision, and false otherwise.
This form of collision detection is not suited for games that have lots of circles and non-rectangular shapes, since the invisible space will be considered part of the collision rectangle. However, this should not be a problem for games such as Space Invaders clones.
-- Collision detection function.
-- Returns true if two boxes overlap, false if they don't
-- x1,y1 are the left-top coords of the first box, while w1,h1 are its width and height
-- x2,y2,w2 & h2 are the same, but for the second box
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