【问题标题】:How do i reverse a Phaser tween?如何反转 Phaser 补间?
【发布时间】:2016-04-14 23:46:08
【问题描述】:

在 Phaser 中,我使用补间来移动精灵点击按钮,即。

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

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

【问题讨论】:

  • 为什么这个问题被否决了?

标签: typescript phaser-framework


【解决方案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();

【讨论】:

  • 我想这样做并且确实很容易实现......我希望有一种方法可以在不添加另一个补间并基本上重写代码的情况下进行反转。当补间更复杂时,这样做会很有用。另外,我有大量补间需要反转...
  • Phaser.Tween 上有一个 [reverse](http://phaser.io/docs/2.4.6/Phaser.Tween.html#reverse) 属性,但根据官方的补间管理器指南,似乎只有在补间当前正在运行时才有效。该示例使补间沿一组封闭路径循环运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
相关资源
最近更新 更多