Cocos Creator 節點的座標轉化
阿新 • • 發佈:2018-12-17
節點座標與世界座標的轉化方法有:
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; }
參考連結: