Establecí el valor del carácter, pero la primera vez funciona bien, la carta cambió, pero cuando finaliza el juego, si cambio, el valor del carácter cambiará, pero el carácter seguirá siendo el mismo que elijo la primera vez.
this.player = this.physics.add.sprite(100, -500, this.charSelect).setOrigin(1, 1); this.player.body.setGravityY(1700); this.player.setBounce(0.1); this.physics.add.existing(this.player).body.setSize(15, 90, ).setOffset(20, 0)this.charSelect es la variable donde se almacenan los nombres de los personajes. el valor de this.charSelect cambia pero el carácter sigue siendo el mismo
this.load.spritesheet("dude-1", "../src/assets/Character/ch-1.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-2", "../src/assets/Character/ch-2.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-3", "../src/assets/Character/ch-3.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-4", "../src/assets/Character/ch-4.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-5", "../src/assets/Character/ch-5.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-6", "../src/assets/Character/ch-6.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-7", "../src/assets/Character/ch-7.png", { frameWidth: 72, frameHeight: 92, }); this.load.spritesheet("dude-8", "../src/assets/Character/ch-8.png", { frameWidth: 72, frameHeight: 92, });aquí está arriba de la carga de caracteres en la hoja de sprites
Tendrías que llamar a la función setTexture del objeto sprite, para cambiar la textura. aquí está el enlace a la documentación , después de volver a seleccionar un nuevo personaje o reiniciar el juego:
this.player.setTexture(this.charSelect);