我用缓动系统将相机移动到某个节点的位置,同时放大画布,但是用worldPosition不行

我用缓动系统将相机移动到某个节点的位置,同时放大画布。
但是用position可以,但是用worldPosition不行。
因为我实际项目中要对齐的节点嵌套在其他的节点里,所以我想用worldPosition(但是不知道为啥对齐不了)咋回事呀? :grimacing:

如图,用worldPosition移动不到中间

用position就可以:

是不是bug,谁懂,顶一下 :upside_down_face:

worldpostion是世界坐标,postion 是局部坐标你嵌套了

我这个例子里没有嵌套,局部坐标可以,但是世界坐标怎么都不可以是咋回事,如果延迟一下先移动世界坐标,再放大canvas大小就可以

我发现先让canvas画布放大,再让相机世界坐标去对齐就不可以跑到屏幕中间,反过来就可以,用position就没这个问题,不知道为啥

node 的父节点是canvas? 你把两个坐标打印出来不就知道什么情况了

对的,,,

那肯定不一样啊,一个是世界坐标一个是相对canvas的局部坐标

但是缓动系统有一个worldPosition的选项,而且如果不先发大画布确实是能移动到中间的

拿到是因为放大了画布会让节点的世界坐标发生改变?! :thinking:

还真是放大了画布节点的世界坐标发生改变了

找到了两种可行的办法:
第一种:提前计算出节点经过缩放屏幕后最终的世界坐标,然后再用缓动系统将相机移动过去。
第二种:获取节点的节点以及其所有父节点的position,将它们累加起来再用position的缓动方法移动过去。