宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3.0处理元件注册点的位置源代码示例

2016-10-13 00:16:48 点击量:12 标签: 收藏本文

很老很老的一个小玩意了,就是可以方便的动态改变元件的注册点位置。当然只是用了偏移量这样简单的原理。代码也非常简单不是很多,在这里贴一下吧!

  1. package   
  2. {  
  3.  import flash.display.DisplayObject  
  4.  import flash.geom.Point  
  5.  //极酷播放器:动态设置注册点  
  6.  public class DynamicRegistration  
  7.  {  
  8.   //需更改的注册点位置  
  9.   private var regpoint:Point  
  10.   //更改注册的显示对象  
  11.   private var target:DisplayObject  
  12.   function DynamicRegistration(target:DisplayObject,regpoint:Point)  
  13.   {  
  14.    this.target=target  
  15.    this.regpoint=regpoint  
  16.   }  
  17.     
  18.   //设置显示对象的属性  
  19.   public function flush(prop:String,value:Number):void  
  20.   {  
  21.    var mc=this.target  
  22.    //转换为全局坐标  
  23.    var A:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint))     
  24.    if(prop=="x"||prop=="y")  
  25.    {  
  26.     mc[prop]=value-regpoint[prop]      
  27.    }else  
  28.    {  
  29.     mc[prop]=value  
  30.     //执行旋转等属性后,再重新计算全局坐标  
  31.     var B:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint))  
  32.     //把注册点从B点移到A点  
  33.     mc.x+=A.x-B.x  
  34.     mc.y+=A.y-B.y  
  35.    }  
  36.   }  
  37.  }  

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室