|
Point是非常有用的类,可以允许你转换坐标系,尤其是当我们在不同层级的点之间需要计算距离的时候,非常需要Point来帮我们实现这个事情,而且非常好的地方在于,即使你对电影剪辑内容进行了缩放,Point计算依然是准确的。
看看下面的示例:
http:///files/casedesign/as3point.swf
实现代码: - var lineContainer:Sprite = new Sprite();
- parent.addChild(lineContainer);
- addEventListener(Event.ENTER_FRAME,enterHandler);
- function enterHandler(e:Event):void {
- var point1:Point=new Point(d.x+d.width/2,d.y+d.height/2);
- //trace(point1.x+","+point1.y);
- point1=localToGlobal(point1);
- //trace(point1.x+","+point1.y);
- var point2:Point = new Point((parent as MovieClip).m1.d.x+(parent as MovieClip).m1.d.width/2,(parent as MovieClip).m1.d.y+(parent as MovieClip).m1.d.height/2);
- //trace(point2.x+","+point2.y);
- point2 = (parent as MovieClip).m1.localToGlobal(point2);
- //trace(point2.x+","+point2.y);
- lineContainer.graphics.clear();
- lineContainer.graphics.lineStyle(1,0x000000,1);
- lineContainer.graphics.moveTo(point1.x,point1.y);
- lineContainer.graphics.lineTo(point2.x,point2.y);
- }
复制代码 |