Phaser game.states 未加载

Phaser game.states not loading

这是我的 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');

我做错了什么?

在 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的文件还没有加载,所以抛出状态未定义的异常。

只需重新安排我的加载脚本,我的问题就得到了解决,我的 main.js 是我的 over.js 的 in-front,这导致它无法正常工作。