Phaser 3不透明度?

时间:2018-04-07 20:11:55

标签: javascript phaser-framework

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

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文档时遇到了很多麻烦,所以我不确定在哪里寻找这些信息。

1 个答案:

答案 0 :(得分:6)

您可能应该使用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的有用使用示例。