#html #phaser-framework
#HTML #phaser-framework
Вопрос:
Я разрабатываю проект, и он говорит это моим сценам, и это всего лишь один пустой экран, который белый
когда я проверяю debug, я получаю это:
Неперехваченная ошибка типа: класс расширяет неопределенное значение, которое не является конструктором или null
вот мой индексный файл
<!doctype html>
<html lang="en">
<head>
<title>save the mahanadi river, an energy project</title>
<!--libs-->
<script src="//cdn.jsdelivr.net/npm/phaser@3.24.1/dist/phaser.js"></script>
<!--project-->
<script type = "text/javascript" src = ".js/game.js"></script>
<!--scenes-->
<script type = "text/javascript" src = "scenes/boot.js"></script>
<script type = "text/javascript" src = "scenes/menu.js"></script>
</head>
<body>
<H1>hello for now</H1>
</body>
</html>
и мой проблемный код сцены
class Boot extends Phaser.scene {
constructor() {
super("Boot")
};
preload (){
};
create (){
this.add.text(20, 20, "welcome!")
};
update (){
};
};
вот мой game.js
window.onload = function(){
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 300 },
debug: false
}
},
scene: {
preload: preload,
create: create,
update: update
}
};
var game = new Phaser.Game(config);
}
ok thanks photon storm but i still have bugs
my game.js
window.onload = function(){
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
Scenes: [Boot,Menu],
Scenes.push(Boot),
Scenes.push(Menu),
physics: {
default: 'arcade',
arcade: {
gravity: { y: 300 },
debug: false
}
},
};
var game = new Phaser.Game(config);
}
это создает проблемы при phaser.push
Комментарии:
1. пожалуйста, помогите мне, потому что мне это действительно нужно для школы
2. пожалуйста, помогите мне снова photonstorm
Ответ №1:
Если вы собираетесь использовать класс для своей сцены, вам нужно изменить конфигурацию игры, чтобы отразить это. На данный момент он все еще использует старый 3-функциональный подход, но вам нужно сообщить ему, что теперь вы используете класс Scene:
scene: [ Boot ]
Где ‘Boot’ — это ваша сцена загрузки. Добавление дополнительных сцен? Добавьте их в этот массив. Первый в списке запускается автоматически.
Комментарии:
1. поэтому я просто поместил этот массив в конфигурацию
2. не могли бы вы показать, как поместить это в код, потому что я новичок в phaser
3. неожиданный токен консоли отладки ‘.’
4. и старый класс расширяет значение undefined не является конструктором или null
5. JavaScript чувствителен к регистру. Правильная конфигурация:
scene: [Boot, Menu]
— нижний регистр, без множественного числа, простой массив. Удалите этиpush
строки, они ничего не делают.