cocos 坐标转换

来源:互联网 发布:君子去仁 恶乎成名注解 编辑:程序博客网 时间:2024/05/20 11:46
convertToNodeSpace
convertToWorldSpace
convertToNodeSpaceAR
convertToWorldSpaceAR

官方给出4个坐标转换函数 
  1. AR表示是否忽略锚点 以当前node的左下角为坐标原点
            convertToNodeSpace 和 convertToWorldSpace 是以当前node的左下角为原点
            convertToNodeSpaceAR 和 convertToWorldSpaceAR 是以当前node的锚点为原点  

  1.   convertToNodeSpace 和 convertToNodeSpaceAR 是将世界坐标转换为节点相对坐标 (参数是 世界坐标,返回相对于当前节点的相对坐标)
            convertToWorldSpace 和 convertToWorldSpaceAR 是将节点相对坐标转换为世界坐标 (参数是相对于当前节点的坐标 ,返回值是世界坐标)

需求: A点和B点在同一个坐标系下(在同一个节点上) 想要得到A点相对于B点的坐标 。        (不在同一节点上也能如此计算) 

第一步:先计算A点的世界坐标,再将A点的世界坐标转换为B点的相对坐标(相当于将A点作为B的子节点)
var worldAPoint = nodeA.convertToWorldSpaceAR(cc.v2(0,0));  
//计算 以A点的锚点为原点,(0,0)点的世界坐标 ,在这里就是A点的世界坐标(也可以得到以A坐标系下的任意点的世界坐标,例如 nodeA.convertToWorldSpaceAR(cc.v2(100,100) ,
//就是以A锚点为原点(100,100)的世界坐标),以可以用convertToWorldSpace来计算,只是坐标原点换成了A的左下角
第二步://传入A的世界坐标,计算得出A的(0,0)点相对于B的相对坐标
var nodePosition = nodeB.convertToNodeSpaceAR( worldAPoint ) ;






原创粉丝点击