- Creator 版本:1.6.2 1.7.0 (两个版本都有这个BUG)
- 目标平台:Web
- 详细报错信息,包含调用堆栈:Uncaught TypeError: this._b2Body.SetAllowSleeping is not a function
- 重现方式:Node.getComponent(cc.RigidBody).allowSleep = false;
怎么能设置成 默认 allowSleep 为false
我把这里改了 也只是编辑器默认false 代码添加rigidBody allowSleep 依然是true
cc.director.getPhysicsManager().enabled = true;
this.node.addComponent(cc.RigidBody);
this.node.getComponent(cc.RigidBody).allowSleep = false;
这样写都会报错
this.node.addComponent(cc.RigidBody);
this.node.getComponent(cc.RigidBody).allowSleep = false;
cc.director.getPhysicsManager().enabled = true;
这样写不会报错 但是 RigidBody 的active属性为false
this.node.getComponent(cc.RigidBody).active = true; 这样也修改不了属性 不报错 但打断点看属性 active始终为false
我现在要实现的功能是这样的
人物移动 撞到障碍物后 游戏结束
人物撞到一些物体 会往后滑 所以 我会把物理组件 active 设为false
重新开始游戏 人物状态重置 这个时候 把物理组件active 设为 true 人物依然会往后滑
所以 我会在游戏结束的时候 把物理组件先destroy
重新开始 再addComponent(cc.RigidBody);
然后 allowSleep = false; 就报错了
要用自定义引擎,修改完后还要执行 gulp build
你好,我今天也遇到这个用法,使用的是1.8.2版本,怎么还是出现上面的错误?即使用如下代码:
body.allowSleeping=true;
继续出现上面的错误。也不知更高版本中是否已经改进?