在cocos creator 1.9的版本中,我使用物理引擎,代码前开启物理引擎:cc.director.getPhysicsManager().enabled = true;
在升级2.0后,同样使用物理引擎,并且使用同样的代码开启,此时运行微信开发者工具报错TypeError: Cannot set property ‘enabled’ of undefined
http://forum.cocos.com/t/cocos-creator-v2-0-0/62785
优化启动流程
在 v1.x 中,引擎和用户脚本的加载顺序是:
加载引擎
加载 main.js
初始化引擎
初始化渲染器
加载项目插件脚本
加载项目主脚本
而在 v2.0 中如下:
加载引擎
加载 main.js
加载项目插件脚本
加载项目主脚本
初始化引擎(Animation Manager, Collision Manager, Physics Manager, Widget Manager)
初始化渲染器(cc.renderer)
所以在 v2.0 中,用户可以在插件脚本中干预引擎和渲染器的初始化过程,比如定义 cc.macro.ENABLE_WEBGL_ANTIALIAS,这在 v1.x 中必须写在 main.js 的特定位置才可以。如果用户对于引擎有小部分的定制需求,也可以在插件脚本中初始化。当然,这也意味着在加载插件脚本和项目脚本时,渲染器还没有初始化,所以 cc.renderer 以及它的内容都是没有准备好的,用户可以在插件脚本中用下面的方法来延迟初始化:
cc.game.once(cc.game.EVENT_ENGINE_INITED, function () {
// 可以使用 cc.renderer 等初始化之后才准备好的引擎对象
});
1赞
ok 知道了 感谢
抱歉 没搞懂 可以简单说一下解决方法吗