我有一个游戏,其中有敌人攻击你,你必须试图摧毁它们。
我有敌人对你的头transition.to(OBJ, { time = 2000})
功能。在游戏中我想要一个能够减速敌人的力量。当transition.to()被调用时,我让敌人变慢,时间会更长。 (例如,启动时未启动,然后代码为
transition.to(OBJ, {time = 2000 + slowDown } )
其中slowDown = 0
,但是当用户按下启动按钮slowDown = 2000
时。我唯一的问题是,按下加电按钮只会减慢被预感后产生的敌人,而不是现在的敌人。
有没有办法可以让敌人在转型过程中减速?
答案 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。
祝你好运