NodeUtils.ts 680 B

123456789101112131415161718192021222324
  1. export default class NodeUtils
  2. {
  3. /**
  4. * 获取节点全局坐标
  5. * @param node
  6. * @param out
  7. */
  8. public static GetNodePos(node:cc.Node,out:{x:number,y:number}):void{
  9. let nodePos:cc.Vec3=new cc.Vec3();
  10. let parentPos:cc.Vec3=new cc.Vec3();
  11. let anchorPoint:cc.Vec2=node.getAnchorPoint();
  12. let nodeSize:cc.Size=node.getContentSize();
  13. while(node){
  14. node.getPosition(parentPos);
  15. nodePos.x+=parentPos.x;
  16. nodePos.y+=parentPos.y;
  17. node=node.parent;
  18. }
  19. out.x=nodePos.x-anchorPoint.x*nodeSize.width;
  20. out.y=nodePos.y-anchorPoint.y*nodeSize.height;
  21. }
  22. }