В теле функции проверки «this» относится к самой функции проверки, у которой нет свойства сцены, поэтому вы видите ошибку.
Если вы вызываете check с помощьюМетод "call" и прохождение игры "this" должны исправить вашу проблему, но, вероятно, это не самый чистый способ сделать это.
Кроме того, я считаю, что create вызывается только при инициализации, поэтому я не думаю, что игра закончится когда-либо, что будет правдой (вы, вероятно, захотите назвать это в обновлении)
class game extends Phaser.Scene {
constructor() {
super({ key: "game" });
}
create() {
check.call(this);
}
}
Изменить: Ниже, вероятно, я бы подошел к проблеме:
class MainScene extends Phaser.Scene {
constructor() {
super({ key: "MainScene" });
}
create() {}
isGameOver() {
// logic to determine if the game is over
}
update() {
if (this.isGameOver()) {
this.scene.start("MainMenu");
}
}
}
var config {
//game config goes here
scenes: [
MainMenu,
MainScene
]
}
var game = new Phaser.Game(config);