в браузере я вижу только черный холст и определяю 2 сцены, но я не знаю, почему я не вижу текста, помогите, пожалуйста. игра.js
window.onload=function(){
var game = new Phaser.Game();
var config = {
width: 800,
height: 500,
backgroundcColor: 0xffffff,
scene: [Scene1, Scene2]
}
var game = new Phaser.Game(config);
}
Scene1.js
class Scene1 extends Phaser.Scene {
constructor(){
super("Scene1");
}
create(){
this.add.text(20,20,"Loading game", {font:"25px Arial", fill:"yellow"});
}
}
Возможны некоторые проблемы:
var game = new Phaser.Game();
из функции onload
. Поскольку в конце вы создаете его снова, на этот раз с объектом конфигурации (и каждый вызов создает новое приложение холста/фазера).Scene1
и Scene2
, вы должны загрузить оба, если вы ссылаетесь на config
, если нет, это вызовет ошибку и выполнение остановится (даже если вы используете только один).Если все это решит проблему, проверьте консоль браузера на наличие ошибок, так как любая ошибка в коде остановит/может остановить правильный поток приложения.
Здесь вы можете видеть, что ваш код работает в основном:
document.body.style = 'margin:0;';
class Scene1 extends Phaser.Scene {
constructor(){
super("Scene1");
}
create(){
this.add.text(20,20,"Loading game", {font:"25px Arial", fill:"yellow"});
}
}
window.onload = function(){
// remove this line it is not needed
//var game = new Phaser.Game();
var config = {
width: 800,
height: 500,
backgroundcColor: 0xffffff,
// Remove Scene2 if it is not loaded
//scene: [Scene1, Scene2]
scene: [Scene1]
}
var game = new Phaser.Game(config);
}
<script src = "//cdn.jsdelivr.net/npm/[email protected]/dist/phaser.js"></script>
@PLayPool это могут быть старые сообщения об ошибках или из Scene2, так как в вашем коде вы не используете preload
. Мой совет для вас: ознакомьтесь с этим официальным руководством Phaser.io/tutorials/making-your-first-phaser-3-game (это немного старомодно, но показывает основы), и вы можете проверить все это страница с официальными примерами они показывают почти все, что вы можете сделать с фазером. А для получения подробной информации о смене сцен ознакомьтесь с этим примером Phaser.io/examples/v3/view/scenes/change-scene-from-create-es6
@PLayPool, если вы используете браузер на URL-адресе вашего веб-сервера, он должен работать (если все файлы, на которые вы ссылаетесь, находятся на одном сервере/папке/подпапке). если вы хотите использовать фазер без хлопот, вы можете использовать бесплатную версию для этого редактора Phasereditor2d.com он прост в настройке и имеет даже графический интерфейс.
я получил некоторые ошибки с 10:1 это функция предварительной загрузки, извините, но я все еще новичок
preload() { this.sceneFile('Scene1', "../Scene1.js");} create() { this.scene.start('Scene1'); } upload() { }