[LayaAir3]代码实例化有刚体或碰撞体的预制体时报错

RT,在通过代码实例化一个带有刚体和碰撞体属性的预制体时报错TypeError: Cannot read properties of undefined (reading 'box2DWorld') at localhost:18090/libs/laya.physics2D.js:1171
删除刚体和碰撞体时,可正常实例化。
已邀请:

Laya_Fred

赞同来自: °W

您好,感谢您的反馈,在3.3.x版本中,box2D的2D物理系统更改为了每个场景可以对应一个物理世界的设计,这样使得每个场景之间的物理世界可以存在区别,使得场景的物理配置更为灵活,也就导致您如果将对象加入到stage上,而不是对应的scene中,就无法获取到对应场景上的物理管理器而报错了,您可以试下将add到stage的子节点改为add到owner.scene的子节点,能够解决问题;除了这项修改之外,在3.3.x版本中我们统一设计为baseCollider + Shapes的方式实现物理组件,统一了2D物理/3D物理的设计理念,并且兼容之前的物理组件 + baseCollider的方式。

°W

赞同来自:

用代码添加刚体也报错,用的是3.3.2

要回复问题请先

商务合作
商务合作