Actualmente estoy tratando de animar algunos cuadros de una hoja de sprites usando Phaser3. La página representa con éxito el primer cuadro de la animación en la pantalla, pero falla cuando intento codificar en cualquiera de las animaciones.
Esto es lo que tengo hasta ahora:
export default class Intro_Animation extends Phaser.Scene { constructor() { super('Intro_Animation'); } intro(){} preload() { this.load.path = './src/assets/intro/'; this.load.spritesheet('intro_frame', 'westwardJourney_02-Sheet.png', {frameWidth: 144, frameHeight: 130}); } create() { //fails somewhere in the animations here var introAnim_config = { key: 'introWalkAnim', frames: this.anims.generateFrameNumbers('intro_walk', { start: 0, end: 23, first: 23 }), frameRate: 20, repeat: -1 }; this.anims.create(introAnim_config); //loads in first frame here this.add.sprite(250, 150, 'intro_frame').play('introWalkAnim'); } }Solo puedo suponer, sin conocer el mensaje de error exacto , que el frameWidth del marco y/o la altura del frameHeight es quizás demasiado grande (es decir: más grande que el tamaño real de la imagen, incluso para 1px es suficiente ) . Esto podría producir un error como:
Uncaught TypeError: Cannot read properties of undefined (reading 'duration') ...
y también mostrar una imagen.
Excepto esto, no conozco ninguna otra razón, cómo podría ocurrir un error, al mostrar al menos una parte de una imagen, y probé varias posibilidades y combinaciones.