Phaser 3 中精灵动画调用play后仅停留在第1帧的问题求助
Phaser 3 中精灵动画调用play后仅停留在第1帧的问题求助
我代码里遇到个头疼的问题:当我执行this.sprite.anims.play("key", true)时,精灵的动画只会停在第一帧。其他区域的动画都运行得好好的,偏偏这个部分出了问题,以下是相关的代码片段:
在update()函数中:
if (this.TIMER_DONE) { this.zeph.anims.play("walk_zeph-left", true) this.zeph.x += this.zeph_x_vel this.zeph_speech.visible = false this.t.setText("") if (this.zeph.x == 352) { this.zeph_x_vel = 0 this.zeph.anims.play("walk_zeph-front", true) } }
逻辑大概是这样:我设置了一个计时器,计时器结束后,让精灵走到指定坐标——这部分完全正常。当它到达目标坐标时,我把this.zeph_x_vel设为0让它停止移动,这部分也没问题。
唯独this.zeph.anims.play()这部分不对:动画确实在播放,但只显示第一帧。我换了其他动画key测试,结果还是一样的情况。
下面是我的动画初始化代码:
this.anims.create({ key: 'walk_zeph-front', frames: this.anims.generateFrameNumbers('zeph-front', {start: 0, end: 3}), frameRate: 8, repeat: -1 })
控制台完全没有报错,我实在搞不懂问题出在哪,希望能得到大家的帮助,非常感谢!
备注:内容来源于stack exchange,提问作者Sereen Taleb
相关产品推荐
相关产品推荐

