相位器3-如何在使用acceleratorTo移动后停止gameObject

时间:2019-03-04 14:01:09

标签: javascript phaser-framework

我正在尝试为使用accelerateTo方法处理卡片的牌组创建动画。 Phaser的文档说,游戏对象到达目标坐标后不会停止移动。没有关于对象到达目的地后如何实际停止的解释。

function preload () {
    this.load.image('back', '../static/deck/flipo.png')
};

function create () {
  card = this.physics.add.image(500,500, 'back')
  this.physics.accelerateTo(card, 126, 160, 60, 1)
};

这可以使卡沿路径移动,但是如何使其停止?我猜我可以使用不可见的碰撞对象,但我更喜欢使用更清洁的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以检查其在update函数中的位置,以及是否达到所需的xy位置。您可以执行setVelocity(0)来停止它。

但是,老实说,由于您只是想将卡片从一个地方移动到另一个地方,我认为使用tween是最好,最简单的选择。您还可以在补间上设置onCompleteCallback

var tween = this.tweens.add({
    targets: card,
    x: 120,
    y: 160,
    ease: 'Power1',
    duration: 3000
});

这里是simple tween example.