PhaserJS:精灵动画问题

时间:2020-01-04 12:23:36

标签: phaser-framework

我有一个小问题,我无法弄清楚出什么问题了,也许有人可以提供帮助。

似乎player.anims.play('walk')无法正常工作,但出现错误消息“无法读取未定义的属性'frame'”。

似乎我得到了一个空的框架数组。

我如何在preload()中加载电子表格:

this.load.spritesheet('player', 'assets/characters.png', { frameWidth: 32, frameHeight: 48 })

我班的样子:

export default class Player extends Phaser.Physics.Arcade.Sprite {
  constructor(scene: Phaser.Scene, x: number, y: number) {
    super(scene, x, y, 'player')
    const player = scene.physics.add.sprite(x, y, 'player')
    player.setCollideWorldBounds(true).setInteractive()

    scene.anims.create({
      key: 'walk',
      frames: scene.anims.generateFrameNames('player', { start: 1, end: 3 }),
      repeat: -1
    })

    player.anims.play('walk')
  }
}

在create()中:

this.player = new Player(this, 10, 10)

1 个答案:

答案 0 :(得分:0)

找到了我正在使用Phaser 3.21.0的解决方案,看来在this.load.spritesheet内部,我必须在配置对象内部传递endFrame