我正在尝试使用移相器链接动画。
当intro0完成时,我需要播放intro1中定义的动画。 但是,介绍1中的动画会保持循环。我需要一种方法来阻止现有动画启动新动画。
如果我在intro1中使用this.player.animations.stop,则所有动画都会停止。空闲动画无法运行
有人可以帮忙吗?
intro0: function() {
this.player.animations.play("run", 9, true);
var s = this.game.add.tween(this.player);
s.to({ y: 300,x:192 }, 3000, null)
s.start();
s.onComplete.add(this.intro1, this); //Which uses the Signals retains scope
},
intro1: function() {
this.player.animations.play("idle", 9, false);
},
答案 0 :(得分:0)
我理解:有一个带有无限动画的精灵,但是当插值事件结束时,当前动画结束并开始另一个动画,在完成它之后,必须销毁精灵。如果新动画是另一个精灵,我想你可以使用 loadTexture():
s.onComplete.add(function() {
//The third parameter indicates whether to stop the current animation
player.loadTexture('texture', 0, true);
player.animations.add('idle');
//The fourth parameter indicates whether the sprite should be killed after the animation is finished
player.animations.play('idle', 9, false, true);
}, this);
如果要为特定数量的帧设置动画,可以执行以下操作:
player.animations.add('run', [0,1,2,3]);
player.animations.add('idle', [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]);
player.animations.play('run', 10, true);
var s = game.add.tween(player);
s.to({ y: 300,x:192 }, 3000, null);
s.start();
s.onComplete.add(function() {
player.animations.stop();
player.animations.play('idle', 9, false, true);
}, this);