代码改变节点父物体,如何使其位置不变

如题,用代码改变了东西的父物体后其位置会发生变化,如何在改变父物体后使其位置保持,或者所要怎么计算重置父物体后的坐标

脱离父节点移动

什么意思,能说清楚点吗

要就把子节点拿出来,要就把父节点移动的位置记录下来,在修改子节点位置

父节点移动的位置,这个父节点不同层级的话要怎么计算

用世界坐标convertToWorldSpaceAR

这个方法我试过不过没太看懂怎么用,例如我要使一个父物体为box的ball,把父物体改为canvas,是要吧ball的坐标转换成世界坐标吗,但是这个世界坐标也不是canvas里的坐标吧

你把层级管理器的截个图吧,不知道你要干什么

差不多就这样子,把ball的父节点改为canvas,要怎么计算,我思路有点混乱

这种最好是把ball做成预制,然后直接实例化出来

我是想让这个ball跟着鼠标移动,但是再加上其他图片的话就会被挡住,所以想改变它的父物体让其处于最上层

感觉你要移动球就初始化球,然后通过cc.Node.EventType.TOUCH_MOVE获取坐标改变球的位置就好,不用改变父节点位置

球的拖动没有问题,就是拖动过程中会被其他东西挡住,所以才想把它的父物体改成canvas这样就会处在最上层没东西能档它

你把父节点的zIndex 设置10000试试

zIndex只有同层级之间才有用吧,对子物体没有作用

setLocalZOrder可以吗

解决了,先用convertToWorldSpace转换成世界坐标,改变父物体后再用convertToNodeSpace转换回来就好了,刚才脑袋一直没转过弯来复杂化了

我最开始就是说用这种方式。。。