赞
踩
为了拿到当前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.position return 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) } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。