Я создал кликабельный спрайт в Phaser 3, используя машинопись.
Я хочу изменить сцену при нажатии на спрайт:
export class BMO extends Phaser.GameObjects.Sprite {
constructor(scene) {
super(scene, 100,150, "bmo")
this.scene.add.existing(this)
this.setInteractive()
this.on('pointerdown', function (pointer) {
this.scene.start('GameOver');
}, this);
}
}
При нажатии на спрайт в запущенной игре я получаю:
this.scene.start не является функцией
Точно такой же код работает, когда он находится внутри сцены вместо спрайта:
export class GameScene extends Phaser.Scene {
constructor() {
super({key: "GameScene"})
}
create(): void {
this.input.once('pointerdown', function (pointer) {
this.scene.start('GameOver');
}, this);
}
}
Как мне изменить сцены из кликабельного спрайта в Phaser 3?