【发布时间】:2011-12-03 14:18:58
【问题描述】:
出于发布的原因,这里是我正在尝试做的一个简单版本。
在屏幕上,我有一个简单的圆形对象,它是静态的,不会移动。然后用户可以拖放一条直线。如果这条线穿过那个圆圈,我希望能触发碰撞事件。
似乎除非其中一个物体正在移动,否则永远不会检测到碰撞。画线时能检测到碰撞吗?
碰撞事件
function onHit(e)
print("hit");
end
Runtime:addEventListener("collision", onHit)
触摸事件
local startX = 0;
local startY = 0;
local endX = 0;
local endY = 0;
function onTouch(e)
if(e.phase == "began") then
startX = e.x
startY = e.y
elseif(e.phase == "moved") then
endX = e.x
endY = e.y
elseif(e.phase == "ended") then
local line = display.newLine(startX, startY, endX, endY)
line:setColor(100, 100, 100)
line.width = 2
physics.addBody(line, "static", { })
end
end
Runtime:addEventListener("touch", onTouch)
创建圈子
local c = display.newCircle(50, 50, 24)
physics.addBody(c, "static", { radius = 24 })
【问题讨论】:
标签: lua collision-detection box2d coronasdk