我正在尝试将一个精灵从一个点补间到另一个点,并在它移动时逐渐消失。我试过这个:
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文档时遇到了很多麻烦,所以我不确定在哪里寻找这些信息。
答案 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的有用使用示例。