我如何在 PhaserJS 中添加一个补间动画以继续将对象从它停止的位置移动得更远?

How can I add a tween in PhaserJS to keep moving the object further from where it stopped?

需要运行对象停止,现在运行进一步停止等,根据函数的number参数。 如果我在补间中添加 repeat,它会从原始起点开始重复。

我也尝试用带有 for 循环的补间添加迭代器。但他们不会在停靠点停顿。我添加了 delaycompleteDelay 来获得暂停但没有用。它只是 运行 直接到达最终目的地。我什至试过 setTimeout 但没有帮助。

我使用一种方法来完成此操作,它不需要 "repeat" 参数。 您可以在函数中添加补间并添加调用此补间函数的 onComplete。 例如:(使对象上升的补间)

function goAbove(yourTarget){
 this.tweens.add({
    targets: yourTarget,
    y: youTarget.y + newY,
    ease: "Linear",
    duration: duration,
    yoyo: false,
    onComplete: goAbove.bind(this, yourTarget),
  });
} 

yourTarget 将不断上升,除非您在补间函数中添加一个 if 条件,使其在达到特定值时停止,例如:

if ( yourTarget.y < 300 ){
  this.tweens.add({
    targets: yourTarget,
    y: youTarget.y + newY,
    ease: "Linear",
    duration: duration,
    yoyo: false,
    onComplete: goAbove.bind(this, yourTarget),
  });
}

当 yourTarget.y 大于 300 时,以上内容将阻止补间重复。 希望这对您有所帮助!

经过一段时间的搜索,我使用了 Phaser 库中的补间时间轴。它也可以与 for 循环完美配合。 @Adam Nijjar 的解决方案也有效:)