RigidBody组件无法设置allowSleep属性的值

  • 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

这个匿名函数怎么产生的啊…
属性中两个中括号的是什么…

你根据pr这个改一下看看
https://github.com/cocos-creator/engine/pull/2182

修改后如何生效呢…

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;

继续出现上面的错误。也不知更高版本中是否已经改进?