As 对象局部坐标转全局坐标

trace(root.x,root.y);
trace(box_mc.x,box_mc.y);
root.x=200;
root.y=100
trace(box_mc.x,box_mc.y);
//box_mc存放在时间轴 root下 虽然root的坐标变了 但是box_mc 的坐标并没变
//root 坐标相对于舞台左上角的(0,0)点 叫全局坐标 box_mc 坐标相对于root 叫局部坐标(本地坐标)

var point_mc:Point=new Point(box_mc.x,box_mc.y);
var point_temp:Point=root.localToGlobal(point_mc);
//想把某先是对象的 坐标转化成全局坐标 就用该显示对象的 localToGlobal 方法
//XX.localToGlobal(x,y); 是把XX 显示对象下的 本地坐标(x,y ) 这个点坐标 转化成全局坐标
trace(point_temp.x,point_temp.y);

//鼠标坐标
stage.mouseX;
stage.mouseY;//鼠标的全局坐标
mc.mouseX;
mc.mouseY;//鼠标的局部坐标

flash和flex针对不同的目的,提供了3种不同的坐标系。

          全局的就是(stage级别的)

          本地坐标系(组件级别的)

          内容坐标系(相对于本地坐标系说的)

坐标转换还有现成的方法:

contentMouseX

//返回mouse的内容坐标x值

contentMouseY

//返回mouse的内容坐标Y值

contentToGlobal   

//将内容坐标转换成全局坐标

contentToLocal

//将内容坐标转换成内容坐标

globalToContent   

//将全局的转成内容坐标

globalToLocal

//全局的转成本地的

localToContent

//本地到内容坐标

localToGlobal

//本地到全局坐标

import flash.events.MouseEvent;
import flash.geom.Point;

stage.addEventListener(MouseEvent.CLICK,onClick)

function onClick(e:MouseEvent){
 trace(circle.mouseX,circle.mouseY)//输出相对于对象的坐标
 trace(this.mouseX,this.mouseY)//输出全局坐标
 trace(circle.localToGlobal(new Point(circle.mouseX,circle.mouseY)))//输出局部坐标转为全局坐标后的新坐标,与全局坐标相同
}

 
原文地址:https://www.cnblogs.com/klh5211314/p/3364974.html