当前位置: 代码迷 >> 综合 >> 节点坐标的转换(cocos create)
  详细解决方案

节点坐标的转换(cocos create)

热度:34   发布时间:2023-11-24 18:06:24.0

changePos(changeNode, endNode) {

let a = changeNode.parent.convertToWorldSpaceAR(changeNode.position)

return endNode.parent.convertToNodeSpaceAR(a);

}

这是比较直接的A节点转移到与B节点同个坐标系的相对坐标

 

 

例如  A--B--C--puke

A的有子节点B,B有子节点C,C有子节点puke

当我们需要获取 D节点在相对A节点下的坐标时,

一般是  子节点的 y轴坐标  乘以  子节点相对父节点的y轴缩放倍数 + 父节点的y轴坐标  = 子节点相对父节点相对父节点的坐标

var x = puke.x * puke.parent.scaleX + puke.parent.x ;

var y = puke.y * puke.parent.scaleY + puke.parent.y ;

此时的 x,y轴坐标就是  A--B--puke   puke 的坐标了

缩放倍数同理

var scale_y =puke.scaleY *puke.parent.scaleY ;

var scale_x =puke.scaleX *puke.parent.scaleX ;

一般子节点坐标都是相对父节点坐标,即以父节点为0 ;

 

此法可用于 预制体 加载时的节点位置的获取,以及动作的位置获取

如果对你有帮助记得点赞啊

  相关解决方案