.postion与getPostioin()的区别

let p1=node.postion;
let p2=node.getPostion()

这2个api有什么区别?
都分别适合什么情况?

谢谢大神给予解答

一样,爱用哪个用哪个

推荐用node.position,使用node.getPostion()需注意尽可能传入复用的参数out(Vec3),具体可查看引擎源码了解

这两个不一样

  • position:返回的是坐标数据的引用,虽然是只读类型,但是还是有可能被误修改,导致后面获取的 position 是错误数据

  • getPostion(outV3?: cc.Vec3):这个返回的是坐标的克隆对象,可以随意修改,如果 outV3 有值,则返回的是同步坐标数据后的 outV3

1赞

嗯 我的游戏里,发现有的时候用getPostion()就是准确的。
用.postion 就不好使

是的,我还以为3.x的position无法赋值了,刚才试了下还可以,我之前一直以为这个position是只读的