Phaser 3补间不透明度?

Phaser 3 tween opacity?

我正在尝试将精灵从一点补间到另一点,并让它在移动时逐渐消失。我试过这个:

const tween = game.tweens.add({
  targets: [log.sprite],
  x: fire.x,
  y: fire.y + (fire.height * 0.2),
  opacity: 0,
  duration: 300,
  repeat: 0,
  onComplete() {
    destroyLog(log);
    resolve();
  },
});

但这行不通。我很难找到适合 Phaser 3 的 API 文档,所以我不确定应该在哪里寻找这些信息。

您可能应该使用 alpha 而不是 opacity。下面是 Phaser3 的工作示例。开始和结束值 lambda 只是为了灵活性。我猜你可以直接用值替换它们。 this 指的是 Phaser.Scene 个实例。

this.add.tween({
  targets: [sprite],
  ease: 'Sine.easeInOut',
  duration: 1000,
  delay: 0,
  x: {
    getStart: () => startX,
    getEnd: () => endX
  },
  y: {
    getStart: () => startY,
    getEnd: () => endY
  },
  alpha: {
    getStart: () => startAlpha,
    getEnd: () => endAlpha
  },
  onComplete: () => {
    // Handle completion
  }
});

您可以通过在本地克隆 repo 并在代码中搜索一些关键字,轻松找到 Phaser 3 的有用用法示例。