求助,节点移动前后的大坑,要怎么获取节点移动前的值

  //gezi和exGezi为2个Node节点,目标是要使2者位置进行交换。
        let geziPos=gezi.position    //gezi节点移动前的坐标为 0,0 
        let exGeziPos=exGezi.position  //exGezi节点移动前的坐标为100,500
      
        console.log(geziPos,'gezi位置')  //0,0
        console.log(exGeziPos,'exgezi位置') //100,500
  
       gezi.setPosition(exGeziPos)
       console.log(geziPos) //100,500,geziPos的值应该保存的是移动前的位置,可这里怎么变成了移动后的位置?
        exGezi.setPosition(geziPos) 

这样执行后,发现2者的位置是重叠的,根本没有交换,请问,不是都定义了geziPos的值吗,
难道变量值还会跟着变化?, 那么我要如何拿起到 gezi节点移动前的位置呢? 以上代码
是在cocos 3.61的环境中进行测试的

因为geziPos和exGeziPos是浅拷贝。

1赞

用getPosition()方法获取保存

1赞
let geziPos=gezi.position ❌
let geziPos = gezi.position.clone() ✅
2赞