Lua 电晕碰撞检测

Lua 电晕碰撞检测,lua,collision-detection,coronasdk,collision,Lua,Collision Detection,Coronasdk,Collision,我有一系列圆形对象,定义如下: local myBalloon = display.newImageRect("images/cracker.png", 20, 20); myBalloon:setReferencePoint(display.CenterReferencePoint); myBalloon.x = Random(50, _W-50); myBalloon.y = (-10); myBalloon.myName="balloon" myBalloon.isSleepingAllo

我有一系列圆形对象,定义如下:

local myBalloon = display.newImageRect("images/cracker.png", 20, 20);
myBalloon:setReferencePoint(display.CenterReferencePoint);
myBalloon.x = Random(50, _W-50);
myBalloon.y = (-10);
myBalloon.myName="balloon"
myBalloon.isSleepingAllowed = false;    
physics.addBody(myBalloon, "dynamic", {density=3.0, friction=1.0, bounce=0.0, radius=9});
然后,我将单个可移动项目定义为:

local threeWay = display.newImageRect("images/3way.png", 80, 43);
threeWay:setReferencePoint(display.CenterReferencePoint);
threeWay.x = (display.contentWidth / 2);
threeWay.y = (display.contentHeight -15);
threeWay.myName = "threeway"
pentagonShape = { -40,-5, 0,-22, 40,-5, 35,20, -35,20 }
physics.addBody(threeWay, "static", {density=4.0, friction=1.7, bounce=0.0, shape=pentagonShape});
我还为圆形对象设置了碰撞检测,如下所示:

function myBalloon:collision(e)
if (timeLeft ~= false) then
    if (playerReady == true) then
        if (e.phase == "ended") then
            if ( e.other.myName == "threeway" ) then
                audio.play(balloonPop);
                removeBalloons(self);
            end 
        end
    end
end
end
碰撞在很大程度上起作用,但有时圆形物体会落在可移动物体上,并在碰撞检测处理之前向下滚动一点

如何为碰撞提供更即时的效果? 物体的属性是否需要不同,以便碰撞时有更多的“力”?

将“isSensor”设置为“true”在阳台上,这样它将触发碰撞功能,而不会碰撞、滚动等


:)

我添加了这个,但我仍然得到了滚动行为。阳台可以忽略其他东西吗?我想这是我们的。我正在看e阶段,并在“结束”上进行删除。我把这个改为“开始”,并得到了我需要的行为。最终并不是“iSensor”帮我解决了问题,但你最后的评论让我改变了对碰撞事件的看法。谢谢speeder。