这是我的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');我做错了什么?
发布于 2016-12-14 06:31:45
当与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的文件尚未加载,所以它引发一个未定义状态的异常。
发布于 2017-01-15 01:00:15
仅仅通过重新安排我的加载脚本,我的问题就解决了,我的main.js就在我的over.js前面,这使得它无法工作。
https://stackoverflow.com/questions/41114723
复制相似问题