带物理系统组件的预制体,无法克隆后动态设置位置

  • Creator 版本:2.0.1

  • 目标平台: web modile

  • 详细报错信息,包含调用堆栈:

  • 重现方式:自制一个空节点,子节点为带物理组件的对象。作为预制体。克隆预制体后,设置克隆体位置,克隆体位置打印结果已发生改变,但是,表现效果未改变,依旧在远点位置。

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :windows

  • 编辑器之前是否有其它报错 :无

  • 出现概率:100%

  • 额外线索:使用同样的脚本方法,克隆不带子节点的预制体,重设位置后,位置发生改变.

我看下

你好 我检验了下并未复现你所描述的问题 能否提供下能够简易复现问题的demo

http://ghostres.oss-cn-shanghai.aliyuncs.com/jiahui/index.html

这里的4个克隆体,我都给重新赋值位置了,但是,打印出来的位置改变了,表现上,位置未发生改变。
克隆的预制体,都有刚体和碰撞盒子组件。

无法访问

我放在oss服务器上的,用谷歌浏览器打开。你那里访问不到吗

你们能提供一个测试服务器嘛,我把资源放你们服务器上

现在可以了

你能把你那个预制体导出来么,我试试。

可以,我试试。另外,那个预制体,我放在新的空场景里,没有开启物理系统,他不会自由落体,不受重力影响,然后可以动态设置位置,但是,在当前场景里,收到了重力作用。位置就没发生改变

qiu.zip (34.1 KB)

helloworld.rar (175.4 KB)
你好 这是我用你的预制体进行的简易测试 并没有出现所谓的无法动态设置position的问题

我看了你这个工程,里面有个地方和我的工程里不一样。在我的工程里,这个预制体是要受到重力影响的。就是说,你没有代码操作的时候,直接将它拖放在工程里的时候,预制体,会掉落下去。你这个工程里的预制体,在运行的时候,没有受到重力影响。所以,问题不一样的地方可能是在这里

cc.director.getPhysicsManager().enabled = true;

我在你的脚本的start 里加入这句话后,再点击创建,就发生了错误

你好 在实例化的每个刚体并且设置position之后,调用一下这个函数
同步节点的世界坐标到 box2d 刚体的坐标上
示例:node.getComponent(cc.RigidBody).syncPosition(true);

1赞

可以使用了,万分感谢:sweat_smile:

:smiley:

我遇到一个类似的问题,麻烦帮我看一下,
这是我发的贴子:预制体刚体初始位置问题