Corona SDK:如何在转换期间减慢对象速度

时间:2014-06-13 14:47:02

标签: lua corona

我有一个游戏,其中有敌人攻击你,你必须试图摧毁它们。

我有敌人对你的头
transition.to(OBJ, { time = 2000})

功能。在游戏中我想要一个能够减速敌人的力量。当transition.to()被调用时,我让敌人变慢,时间会更长。 (例如,启动时未启动,然后代码为

transition.to(OBJ, {time = 2000 + slowDown } )

其中slowDown = 0,但是当用户按下启动按钮slowDown = 2000时。我唯一的问题是,按下加电按钮只会减慢被预感后产生的敌人,而不是现在的敌人。

有没有办法可以让敌人在转型过程中减速?

2 个答案:

答案 0 :(得分:0)

您无法向对象添加新过渡,需要取消过渡,然后使用所需参数应用新过渡。

local olderTransition
local function powerUp(event)
  if olderTransition ~= nil then
    transition.cancel( olderTransition )
  end
  olderTransition = transition.to(OBJ,{time=2000 + Slowdown})
end

我们的想法是使用变量进行转换,因此您可以取消该转换,然后应用新的转换。如果你有几个敌人,你可能需要一个数组来控制你取消的转换。

如果需要,可以使用对象作为参数取消对象的所有过渡

transition.cancel( OBJ )

请检查此问题以查看示例:Update the target coordinates while transitioning

答案 1 :(得分:0)

我会使用“enterFrame”事件将敌人移向你的玩家。然后当玩家加速加电时减少敌人x和y。

祝你好运