接收错误“找不到密钥的状态:预加载”,尽管在我的索引中说明了它

时间:2017-01-19 17:35:05

标签: javascript html phaser-framework

 <script src = "phaser.js"></script>
 <script src = "Boot.js"></script>
 <script src = "preload.js"></script>
 <script src = "level1.js"></script>
 <body>
     <script type="text/javascript">
            var Game = new Phaser.Game(800,600,Phaser.AUTO,'');
            Game.state.add('Boot', game.Boot);
            Game.state.add('preload', game.preload);
            Game.state.add('level1', game.level1);
            Game.state.start('Boot');
     </script>
</body>

预装在这里说明,在HTML索引中,我然后在启动JavaScript中调用它,如下所示:

create:function(){
    this.state.start('preload')
}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

据我所知,范围未使用,但全局Phaser变量:游戏

<强> Boot.js

var Boot = {
   create: function() {

      Game.state.start('preload');

   }
};

如果您遇到更多问题,这是一个很好的tutorial

答案 1 :(得分:0)

也许您最初忘记以这种方式初始化游戏对象:

var game = {};

game.Boot = {
    preload: function(){
    },
   create: function(){
    },
   update: function(){
    }
};

在你的代码中,我看到你这样称呼它:

Game.state.add('Boot', game.Boot);

不喜欢这样:

Game.state.add('Boot', Boot);

所以,你应该首先初始化游戏对象。