Difference between revisions of "BoundingBox.lua"
m (linkification) |
|||
Line 5: | Line 5: | ||
<source lang="lua"> | <source lang="lua"> | ||
-- Collision detection function. | -- Collision detection function. | ||
− | -- Checks if | + | -- Checks if a and b overlap. |
-- w and h mean width and height. | -- w and h mean width and height. | ||
− | function CheckCollision( | + | function CheckCollision(ax1,ay1,aw,ah, bx1,by1,bw,bh) |
− | + | ||
− | + | local ax2,ay2,bx2,by2 = ax1 + aw, ay1 + ah, bx1 + bw, by1 + bh | |
− | + | return ax1 < bx2 and ax2 > bx1 and ay1 < by2 and ay2 > by1 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
</source> | </source> | ||
[[Category:Snippets]] | [[Category:Snippets]] |
Revision as of 19:35, 30 October 2011
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.
-- Checks if a and b overlap.
-- w and h mean width and height.
function CheckCollision(ax1,ay1,aw,ah, bx1,by1,bw,bh)
local ax2,ay2,bx2,by2 = ax1 + aw, ay1 + ah, bx1 + bw, by1 + bh
return ax1 < bx2 and ax2 > bx1 and ay1 < by2 and ay2 > by1
end