mirror of
https://github.com/vrld/HC.git
synced 2024-11-18 12:54:23 +00:00
Added HC:testPoint(x, y) -- Test point for collisions with active objects.
This commit is contained in:
parent
87f964cb43
commit
b58631465c
21
init.lua
21
init.lua
@ -191,6 +191,27 @@ function HC:update(dt)
|
||||
self._colliding_last_frame = colliding
|
||||
end
|
||||
|
||||
-- Test point for collisions with active objects
|
||||
function HC:testPoint(x, y)
|
||||
-- collect colliding shapes
|
||||
local point = newPointShape(x,y);
|
||||
new_shape(self, point);
|
||||
|
||||
local colliding = {};
|
||||
for _,shape in pairs(point:_getNeighbors()) do
|
||||
if shape:collidesWith(point) then
|
||||
table.insert(colliding, shape);
|
||||
end
|
||||
end
|
||||
|
||||
self:remove(point);
|
||||
|
||||
if #colliding == 0 then
|
||||
return false;
|
||||
end
|
||||
return colliding;
|
||||
end
|
||||
|
||||
-- remove shape from internal tables and the hash
|
||||
function HC:remove(shape, ...)
|
||||
if not shape then return end
|
||||
|
Loading…
Reference in New Issue
Block a user