自 物理引擎–这是什么原因?是bug还是操作不当? 继续讨论:
-
Creator 版本: 2.4.6
-
重现方式:如上面引用的帖子链接,当在layout 中存在多个刚体的时候,刚体位置异常,全排列到第一个位置里
自 物理引擎–这是什么原因?是bug还是操作不当? 继续讨论:
Creator 版本: 2.4.6
重现方式:如上面引用的帖子链接,当在layout 中存在多个刚体的时候,刚体位置异常,全排列到第一个位置里
往 layout 里面添加刚体的目的是什么?不用layout不行吗?layout 的使用场景与物理引擎是否冲突了?layout的配置是怎么样的?上传demo有助理解你的问题情况。
不用layout 也可以实现。我手上的图资源是半屏的,需求是在这个半屏上设置好一些不同碰撞障碍,作为可复用的预制体,然后循环铺设这些预制体,实现一个很长的关卡。
layout里面的刚体是用来做什么的?试试先禁用刚体组件,延迟一帧,调用调用刚体的 syncPosition 后再开启。
嗯,通过一些延迟的方法确实能规避这个问题。 TestDemo.zip (380.1 KB) 查看这个demo , 我做了两个预制体,每个预制体上有个物理碰撞组件的节点,把预制体添加到带有layout组件的节点map 上,这个两个预制体里面的物理组件的节点的位置全部偏移了
这样写,物理系统就没有应用到刚体上,你试下,把刚体调整成动态的,看刚体会不会掉落
上面那个有其他问题,换成这个写法。
start () {
// init logic
for (let index = 0; index < this.mapid.length; index++) {
const element = this.mapid[index];
let newnode = cc.instantiate(this.item[element])
newnode.parent = this.mapNode
}
this.mapNode.getComponent(cc.Layout).updateLayout();
this.mapNode.children.forEach(node=>{
let body = node.children[0];
body.getComponent(cc.RigidBody).syncPosition(false);
})
}
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。