以下代码Lua可直接调试.
点与矩形碰撞
-- 点与矩形碰撞
function testPoint(x0,y0,w0,h0,x1,y1)
return x1 >= x0 and x1 <= x0 + w0 and y1>=y0 and y1 < y0 + h0
end
矩形碰撞
-- 矩形碰撞
function testRect(x0,y0,w0,h0,x1,y1,w1,h1)
return x0<x1+w1 and y0<y1+h1 and x0+w0>x1 and y0+h0>y1
end
圆形碰撞
-- 圆形碰撞
function testCircle(x0,y0,r0,x1,y1,r1)
return math.sqrt(math.pow(math.abs(x0-x1),2)+math.pow(math.abs(y0-y1),2)) < r0+r1
end
点与圆形碰撞
-- 点与圆形碰撞
function testCircle(x0,y0,x1,y1,r1)
return math.sqrt(math.pow(math.abs(x0-x1),2)+math.pow(math.abs(y0-y1),2)) < r1
end