CocosCreator 获取与某个Node的世界坐标
- 简介
- 代码
简介
为了拿到当前Node的世界坐标,或者把世界坐标变成Node同层次的坐标
代码
写了一个工具类可以直接放入CocosCreator使用
使用方法:
let nodeToWorldPos = TransformUtil.GetWorldPostation2(yourNode)
const { ccclass, property } = cc._decorator;
/** * TransformUtil * 移动工具 * @ author: SlowFeather * @ wechat: BackedByTheWT * @ data: 2020-07-14 13:44 */
@ccclass
export default class TransformUtil {/*** 拿到世界坐标** @static* @param {cc.Node} node* @returns {cc.Vec2}* @memberof TransformUtil*/public static GetWorldPostation2(node: cc.Node): cc.Vec2 {if (node.parent == null) return node.getPosition()return node.parent.convertToWorldSpaceAR(node.getPosition())}/*** 拿到世界坐标* * @static* @param {cc.Node} node* @returns {cc.Vec3}* @memberof TransformUtil*/public static GetWorldPostation3(node: cc.Node): cc.Vec3 {if (node.parent == null) return node.positionreturn node.parent.convertToWorldSpaceAR(node.position)}/*** 将世界坐标转换为当前node的坐标** @static* @param {cc.Node} node 当前的node* @param {cc.Vec2} worldPos 世界坐标* @returns {cc.Vec2}* @memberof TransformUtil*/public static GetNodePostation2(node: cc.Node, worldPos: cc.Vec2): cc.Vec2 {if (node.parent == null) return worldPos;return node.parent.convertToNodeSpaceAR(worldPos)}}