一聚教程网:一个值得你收藏的教程网站

热门教程

Flash-Flex坐标系统及转换

时间:2022-07-02 17:00:23 编辑:袖梨 来源:一聚教程网

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

          全局的就是(stage级别的)

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

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

    这些坐标系的点是可以转换的,并且有相应的方法,看来adobe想得挺周到。我们一个一个的说一下:

    全局

           这个坐标系的原点在整个flash舞台的左上角,MouseEvent实例的stageX,stageY就是这个坐标系中的值。

    本地

        坐标原点是相对的组件的左上角,MouseEvent中的localX,localY就是相对这个坐标系说的。

    内容

        这个东西比较抽象了UIComponent类实例的contentMouseX  和 contentMouseY 就是了,这个主要针对有滚动条的组件说的,有滚动条了,内容肯定不少,内容所占的区域的坐标就是这个坐标系了。

下面有个官方的图说明了三个坐标系的关系及位置:

Flash-Flex坐标系统及转换

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

contentMouseX

返回mouse的内容坐标x值

contentMouseY

返回mouse的内容坐标Y值

contentToGlobal   

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

contentToLocal 

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

globalToContent   

将全局的转成内容坐标

globalToLocal 

全局的转成本地的

localToContent

本地到内容坐标

localToGlobal 

本地到全局坐标

下面是一个小例子:

  1. "1.0"?>  
  2.   
  3. "http://www.adobe.com/2006/mxml"  
  4.     backgroundColor="white">  
  5.      
  6.       
  7.           
  8.       
  9.       
  10.     "c1"  
  11.         borderStyle="none"  
  12.         string">"300" string">"300"  
  13.         mouseDown="handleMouseDown(event);">  
  14.          
  15.         
  16.             string">"150" string">"150"  
  17.             x="0" y="0"  
  18.             backgroundColor="red">  
  19.             "I'm in Red"/>  
  20.           
  21.         
  22.             string">"150" string">"150"  
  23.             x="150" y="0"  
  24.             backgroundColor="green">  
  25.             "I'm in Green"/>  
  26.           
  27.         
  28.             string">"150" string">"150"  
  29.             x="0" y="150"  
  30.             backgroundColor="blue">  
  31.             "I'm in Blue"/>  
  32.           
  33.         
  34.             string">"150" string">"150"  
  35.             x="150" y="150"  
  36.             backgroundColor="magenta">  
  37.             "I'm in Magenta"/>  
  38.           
  39.       
  40.  

热门栏目