2014-06-13 34 views
0

我有一个游戏,有敌人攻击你,你必须尝试摧毁它们。我有敌人的头朝着你做Corona SDK:如何在转换过程中减慢对象

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

功能。在游戏中,我希望有一个能够减缓敌人速度的力量。当transition.to()被调用的时候,我会让敌人放慢速度。 (例如,与上电unacitvated然后代码是

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

其中slowDown = 0,但是当用户按下通电按钮slowDown = 2000。我唯一的问题是,pressessing的通电按钮不仅会减慢敌人的那产卵后,是pressessed,而不是当前的敌人的。

有没有办法,我可以减缓敌人,而它在过渡办法?

回答

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

0

我会用“enterFrame事件”事件把敌人移向你的玩家。然后当玩家拿起力量减少敌人x和y。

祝你好运