这是我的JavaScript文件之一。我的所有其他文件都有效,除了这个。当我运行堆栈时,它给我一个引用错误,我的over.js文件没有定义。
我已经加载了其他几个页面。我不知道为什么只是这个没有加载。
这是我的over.js文件:
var over = {
preload: function() {
game.load.spritesheet('button', 'assets/button.png', 215, 53, 8);
},
create: function() {
this.btnplayAgain = game.add.button(110, 400, 'button', this.playAgain, this, 2, 3, 2);
},
playAgain: function() {
game.state.start("main");
},
update: function() {},
};
我的main.js代码的结尾是这样的:
var game = new Phaser.Game(480, 640, Phaser.AUTO);
game.state.add('over', over); //<----------------This one doesn't work
game.state.add('main', MainState);
game.state.add('stateTitle', stateTitle);
game.state.start('stateTitle');
我做错了什么?
答案 0 :(得分:0)
在使用Phaser状态时,请确保在加载主状态的javascript文件之前加载状态的javascript文件。像这样编辑HTML文件
<script type="text/javascript" src="js/phaser.js"></script>
<script src="js/stateTitle.js"></script>
<script src="js/stateOver.js"></script>
<script src="js/main.js"></script>
这将删除您遇到的错误。导致错误的主要原因是首先加载main.js
文件并检查状态over
。由于尚未加载包含状态over
的文件,因此抛出了未定义状态的异常。
答案 1 :(得分:0)
只需重新安排我的加载脚本,我的问题就解决了,我的main.js就在我的over.js前面,这使得它无法正常工作。