mirror of
https://github.com/Leo501/CocosCreatorTutorial.git
synced 2026-05-14 10:45:54 +08:00
添加一个Creator常用工具类
This commit is contained in:
89
CreatorUtils/PointConvert.js
Normal file
89
CreatorUtils/PointConvert.js
Normal file
@@ -0,0 +1,89 @@
|
||||
|
||||
/**
|
||||
* 得到一个节点的世界坐标
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 把一个世界坐标的点,转换到某个节点下的坐标
|
||||
* 原点在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;
|
||||
}
|
||||
|
||||
/**
|
||||
* * 把一个节点的本地坐标转到另一个节点的本地坐标下
|
||||
* @param {*} node
|
||||
* @param {*} targetNode
|
||||
*/
|
||||
function convetOtherNodeSpace(node, targetNode) {
|
||||
if (!node || !targetNode) {
|
||||
return null;
|
||||
}
|
||||
//先转成世界坐标
|
||||
let worldPoint = localConvertWorldPoint(node);
|
||||
return worldConvertLocalPoint(targetNode, worldPoint);
|
||||
}
|
||||
|
||||
/**
|
||||
* * 把一个节点的本地坐标转到另一个节点的本地坐标下
|
||||
* @param {*} node
|
||||
* @param {*} targetNode
|
||||
*/
|
||||
function convetOtherNodeSpaceAR(node, targetNode) {
|
||||
if (!node || !targetNode) {
|
||||
return null;
|
||||
}
|
||||
//先转成世界坐标
|
||||
let worldPoint = localConvertWorldPointAR(node);
|
||||
return worldConvertLocalPointAR(targetNode, worldPoint);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
localConvertWorldPointAR,
|
||||
localConvertWorldPoint,
|
||||
worldConvertLocalPointAR,
|
||||
worldConvertLocalPoint,
|
||||
convetOtherNodeSpaceAR,
|
||||
convetOtherNodeSpace
|
||||
};
|
||||
|
||||
|
||||
2
CreatorUtils/README.md
Normal file
2
CreatorUtils/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Creator常用工具类
|
||||
* PointCovert 坐标转换工具
|
||||
Reference in New Issue
Block a user