1. 程式人生 > >Cocos Creator 節點的座標轉化

Cocos Creator 節點的座標轉化

節點座標與世界座標的轉化方法有:

convertToNodeSpace(worldPoint);//將世界座標轉換為模型座標。

convertToNodeSpaceAR(worldPoint);//將世界座標轉換為模型座標。AR表示相對於錨點。

convertTouchToNodeSpace(touch);//將世界座標中觸控點轉換為模型座標。

convertTouchToNodeSpaceAR(touch);//將世界座標中觸控點轉換為模型座標。AR表示相對於錨點。

convertToWorldSpace(nodePoint);//將模型座標轉換為世界座標。

convertToWorldSpaceAR(nodePoint);//將模型座標轉換為世界座標。AR表示相對於錨點。

實際使用的程式碼,比如:

/**
 * 把一個世界座標的點,轉換到某個節點下的座標
 * 原點在node中心
 * @param {*} node 
 * @param {*} worldPoint 
 */
function worldConvertLocalPointAR(node, worldPoint) {
    if (node) {
        return node.convertToNodeSpaceAR(worldPoint);
    }
    return null;
}

/**
 * 把一個世界座標的點,轉換到某個節點下的座標
 * 原點在node左下角
 * @param {*} node 
 * @param {*} worldPoint 
 */
function worldConvertLocalPoint(node, worldPoint) {
    if (node) {
        return node.convertToNodeSpace(worldPoint);
    }
    return null;
}
/**
 * 得到一個節點的世界座標
 * node的原點在中心
 * @param {*} node 
 */
function localConvertWorldPointAR(node) {
    if (node) {
        return node.convertToWorldSpaceAR(cc.v2(0, 0));
    }
    return null;
}

/**
 * 得到一個節點的世界座標
 * node的原點在左下邊
 * @param {*} node 
 */
function localConvertWorldPoint(node) {
    if (node) {
        return node.convertToWorldSpace(cc.v2(0, 0));
    }
    return null;
}


​

參考連結: