我使用 phaser.2.4.3.min.jsphaser.2.2.2.box2d.min.js 构建我的游戏
尝试更改状态时,会引发此错误 TypeError: R[o5R.F6s] is not a function,我似乎无法弄清楚问题所在

PS:我从 phaser 的示例文件夹中获取了 box2d 插件的源代码,我没有购买完整的插件,但我只是在测试它。

有没有办法解决这个问题?

这是游戏代码:http://jsfiddle.net/fbdtq1tg/5/

在这里引发错误:

SetGameOver: function () {
            this.game.state.start("TheGame");
        }

javascript - TypeError : R[o5R. F6s] 不是在移相器 box2d 中改变状态的函数-LMLPHP

最佳答案

错误似乎很清楚:脚本试图执行一个函数,但这个变量不是一个函数。

会发生什么: box2d.m_gravity = box2d.clone();R[o5R.F6s]() 是字符串“克隆”而不是函数。 R = box2d,所以脚本试图执行一个函数( R[o5R.F6s]() 。o5R 是一个包含很多函数的对象,但请求的 F6s 是一个字符串(“克隆”)。

所以,我做了一些研究为什么 box2d.b2world = function(gravity){...this.m_gravity = gravity.Clone();.. } 并且它似乎是一个错误。

查看以下链接:

  • http://www.html5gamedevs.com/topic/13753-changing-states-with-box2d-causes-crash/
  • https://github.com/photonstorm/phaser/issues/1884
  • 关于javascript - TypeError : R[o5R. F6s] 不是在移相器 box2d 中改变状态的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32198658/

    10-13 00:14