2016-04-14 27 views
0

在Phaser中,我使用补间来移动一个精灵按钮点击ie。如何反转Phaser补间?

var tween = this.game.add.tween(sprite) 
    .to({ y: destinationY) }, 400, Phaser.Easing.Bounce.InOut)); 
tween.start(); 

如何恢复补间,以便当我点击另一个按钮时,精灵会回到原来的位置?

+0

为什么的问题得到否决? –

回答

1

要反转当按钮被点击只是有你的按钮运行吐温说这样做补间。 :)

在您的具体情况下,除了您现在正在保存的destinationY之外,可能还需要保存originalY

然后运行与价值的新补。

像这样的事情对您现有的按钮:

// Save the sprites current position first to originalY. 
var tween = this.game.add.tween(sprite) 
    .to({ y: destinationY) }, 400, Phaser.Easing.Bounce.InOut)); 
tween.start(); 

然后在你的新按钮使用。

var tween = this.game.add.tween(sprite) 
    .to({ y: originalY) }, 400, Phaser.Easing.Bounce.InOut)); 
tween.start(); 
+0

我认为要做到这一点,而且确实很容易实现...我希望有一种方法可以在不添加其他补间并基本上重写代码的情况下进行翻转。当补间更复杂时这样做会很有用。此外,我有大量的补间,我需要扭转... –

+1

有一个'[反](http://phaser.io/docs/2.4.6/Phaser.Tween.html#reverse)'属性在'Phaser.Tween'上,但是根据官方的*补间经理*的指南*似乎只在补间正在运行时才起作用。该示例让补间沿着设置的闭合路径循环运行。 –

+0

是的。这只会扭转当前正在播放的补间... –