我使用的是Phaser 3的最新版本,仅支持javascript(没有TS)。
我有一个主场景,其中包含对Sprite对象self-update方法的更新,如下所示:
MainGame.js
export default class MainGame extends Phaser.Scene
{
create ()
{
this.player = new Player({
scene: this,
x : 100,
y : 100
});
}
update ()
{
this.player.update();
}
Player对象更新方法如下:
Player.js
export default class Player extends Phaser.GameObjects.Sprite
{
constructor(config)
{
super(config.scene, config.x, config.y, 'player');
this.scene = config.scene;
this.scene.add.existing(this);
}
update() {
this.anims.play('idle_loop');
}
出于某种原因,循环卡在第1帧,因为它不断地重新启动动画循环(我想每次都会重新启动
使现代化
被称为)。
我的问题:
循环并没有循环播放精灵动画,而是不断快速重启,只显示循环的第一帧。
笔记:
其他一切(用于动画、加载等的Atlas)都很好,事实上,如果我将play()调用从update()移动到create方法,就没有问题。