You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:09:37