Не могу заставить Phaser работать
В течение последних нескольких дней я не мог заставить работать Phaser: просто пытался протестировать программу Hello World. Я точно следовал инструкциям на сайте Phaser, и он все еще не работает для меня.
Я использую node.js.
Вот index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Hello World</title>
<style>
#game_div {
width: 500px;
margin: auto;
margin-top: 50px;
}
</style>
<script type="text/javascript" src="phaser.min.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<div id="game_div"> </div>
</body>
</html>
Вот main.js:
/*jslint node: true */
"use strict";
var game = new Phaser.Game(400, 490, Phaser.AUTO, 'game_div');
var main_state = {
preload: function () {
game.load.image('hello', 'assets/hello.png');
},
create: function () {
this.hello_sprite = game.add.sprite(200, 245, 'hello');
},
update: function () {
this.hello_sprite.angle += 1;
}
}
game.state.add('main', main_state);
game.state.start('main');
Это дает мне ошибку:
"Фазер" использовался до того, как был определен.
var game = new Phaser.Game (400, 490, Phaser.AUTO, 'game_div');
Я действительно пытался найти решение этой проблемы, но я не могу найти ничего плохого. Я довольно новичок в JavaScript и Phaser.
2 ответа
Приведенная выше ошибка SecurityError указывает на корень проблемы: вы открываете файл прямо в браузере, в котором у вас нет прав доступа к локальным файлам, подобным этому. Это должно быть подано через веб-сервер. Если вам нужна помощь в этом, мы рассмотрим это в руководстве по началу работы на веб-сайте.
В ярлыке Google Chrome, который читает как chrome.exe
попробуйте добавить --allow-file-access-from-files
затем откройте браузер и загрузите веб-страницу для Linux, это будет /usr/bin/google-chrome-stable %U --allow-file-access-from-files
у меня сработало изображение загрузилось даже при локальном запуске