Corona SDK:如何在过渡期间减缓对象的速度

我有一个游戏,有敌人会攻击你,你必须试图摧毁它们。我通过以下代码使敌人向你靠近:

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

在游戏中,我想实现一个能减缓敌人速度的强化道具。通过调整transition.to()的时间,我可以让敌人减速(例如,未激活强化道具的代码为

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

其中 slowDown = 0,而当用户按下强化道具按钮时,slowDown = 2000。唯一的问题是,按下强化道具按钮只能让生成后的敌人减速,而不是当前的敌人。

是否有一种方法可以在敌人转换时减速?

点赞
用户2360222
用户2360222

无法在对象中添加新的转换效果,需要取消转换效果,然后使用所需的参数应用新的转换效果。

本地旧的转换
本地功能PowerUp(事件)
  如果olderTransition 〜= nil,则
    转换取消(olderTransition)
  结束
  olderTransition = transition.to(OBJ,{time = 2000 + Slowdown})
结束

关键是使用转换的变量,这样您就可以取消该转换,然后应用新的转换。如果您有多个敌人,则可能需要数组来控制要取消的转换。

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

转换取消(OBJ)

查看此问题以查看示例:更新目标坐标而正在转换

2014-06-13 19:49:50
用户3251969
用户3251969

我会使用 enterFrame 事件来把敌人朝玩家移动。然后当玩家拾起能量增强时,减少敌人的 xy。祝你好运。

2014-06-13 21:06:05