如何使用Point转换点的坐标

Point是非常有用的类,可以允许你转换坐标系,尤其是当我们在不同层级的点之间需要计算距离的时候,非常需要Point来帮我们实现这个事情,而且非常好的地方在于,即使你对电影剪辑内容进行了缩放,Point计算依然是准确的。

看看下面的示例:

实现代码:

  1. var lineContainer:Sprite = new Sprite();
  2. parent.addChild(lineContainer);
  3. addEventListener(Event.ENTER_FRAME,enterHandler);
  4. function enterHandler(e:Event):void {
  5. var point1:Point=new Point(d.x+d.width/2,d.y+d.height/2);
  6. //trace(point1.x+","+point1.y);
  7. point1=localToGlobal(point1);
  8. //trace(point1.x+","+point1.y);
  9. 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);
  10. //trace(point2.x+","+point2.y);
  11. point2 = (parent as MovieClip).m1.localToGlobal(point2);
  12. //trace(point2.x+","+point2.y);
  13. lineContainer.graphics.clear();
  14. lineContainer.graphics.lineStyle(1,0x000000,1);
  15. lineContainer.graphics.moveTo(point1.x,point1.y);
  16. lineContainer.graphics.lineTo(point2.x,point2.y);
  17. }

您给予的分值: None 平均分: 9.5 ( 2 票)

发表新评论

  • 网页地址和电子邮件地址将会被自动转换为链接。
  • 行和段被自动切分。
  • 您可以使用下面的标签来高亮显示您的评论内容: <code>, <blockcode>. 可以使用"[foo]".旁边显示标签样式 "<foo>" PHP代码可以用这样的区块来包含<?php ... ?> or <% ... %>

更多格式化选项信息

验证区域
系统验证:请回答下面的问题