如何在电晕sdk中触发阻止移动球的事件

时间:2012-04-23 14:01:04

标签: corona

我正试图在Corona进行一场比赛,其中包括使用力矢量在某个方向击球。我试图在球停止时触发一个事件。我无法使用“触摸”事件,因为当我触摸球并设置释放方向时,会多次调用触摸事件。

3 个答案:

答案 0 :(得分:4)

当球停止时,您可以使用Corona的自定义事件在发生事件时派遣您的事件。下面的代码将一个事件分派给Runtime对象。

local event = { name = "ballHasStoppedMoving", target = Runtime }
Runtime:dispatchEvent( event )

以下代码将用于侦听“ballHasStoppedMoving”事件,并在事件触发时调用您的函数“ballStoppedMoving”。

local function ballStoppedMoving(event)

    print("The ball has stopped moving")

end

Runtime:addEventListener("ballHasStoppedMoving", ballStoppedMoving)

答案 1 :(得分:0)

使用touch eventphase属性,仅对“开始”阶段作出反应。

答案 2 :(得分:0)

在enterFrame事件中,使用ball.getLinearVelocity检查球的速度。如果它们不等于(0,0),则执行方法/事件。如果您想在此时执行自定义事件,请按照Michael的回答。