美文网首页
CocosCreator-使用convertToNodeSpac

CocosCreator-使用convertToNodeSpac

作者: 程序猿TODO | 来源:发表于2021-04-02 09:36 被阅读0次

    含义

    convertToNodeSpace

    将一个点转换到节点 (局部) 坐标系,并加上锚点的坐标。
    也就是说返回的坐标是相对于节点包围盒左下角的坐标。

    convertToNodeSpaceAR

    将一个点转换到节点 (局部) 空间坐标系,这个坐标系以锚点为原点。
    也就是说返回的坐标是相对于节点原点的坐标。

    convertToWorldSpace

    将一个相对于节点左下角的坐标位置转换到世界空间坐标系。

    convertToWorldSpaceAR

    将一个相对于节点原点的坐标位置转换到世界空间坐标系。

    使用总结

    cocos引擎的世界坐标总是以左下角为原点,即左下角坐标为(0, 0)
    convertToNodeSpaceconvertToNodeSpaceAR的输入参数是个世界坐标,返回值是相对于节点的局部坐标
    convertToWorldSpaceconvertToWorldSpaceAR的输入参数是节点相对坐标,返回值是世界坐标
    如果要把A节点的坐标转换为相对于B节点的坐标,应先把A坐标转换为世界坐标,然后再把得到的世界坐标转换为B坐标
    convertToNodeSpaceAR返回目标节点空间系的局部坐标,一般使用它就够用了;
    convertToNodeSpace是在convertToNodeSpaceAR基础上,加上目标节点锚点的坐标,最终得到相对于节点左下角的局部坐标。看下它的源码实现就明白了:

    convertToNodeSpace(node, worldPoint) {
        let localPt = node.convertToNodeSpaceAR(worldPoint);
        localPt.x += node.anchorX * node.width;
        localPt.y += node.anchorY * node.height;
        return localPt;
    }
    

    相关文章

      网友评论

          本文标题:CocosCreator-使用convertToNodeSpac

          本文链接:https://www.haomeiwen.com/subject/zphrhltx.html