我正在尝试为使用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)
};
这可以使卡沿路径移动,但是如何使其停止?我猜我可以使用不可见的碰撞对象,但我更喜欢使用更清洁的解决方案。
答案 0 :(得分:1)
您可以检查其在update
函数中的位置,以及是否达到所需的x
,y
位置。您可以执行setVelocity(0)
来停止它。
但是,老实说,由于您只是想将卡片从一个地方移动到另一个地方,我认为使用tween
是最好,最简单的选择。您还可以在补间上设置onCompleteCallback
。
var tween = this.tweens.add({
targets: card,
x: 120,
y: 160,
ease: 'Power1',
duration: 3000
});