Flash-Flex坐标系统及转换

作者:袖梨 2022-07-02

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

全局的就是(stage级别的)

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

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

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

全局

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

本地

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

内容

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

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

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

contentMouseX

返回mouse的内容坐标x值

contentMouseY

返回mouse的内容坐标Y值

contentToGlobal

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

contentToLocal

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

globalToContent

将全局的转成内容坐标

globalToLocal

全局的转成本地的

localToContent

本地到内容坐标

localToGlobal

本地到全局坐标

下面是一个小例子:

  1. "1.0"?>
  2. "http://www.***adobe.com/2006/mxml"
  3. backgroundColor="white">
  4. "c1"
  5. borderStyle="none"
  6. string">"300" string">"300"
  7. mouseDown="handleMouseDown(event);">
  8. string">"150" string">"150"
  9. x="0" y="0"
  10. backgroundColor="red">
  11. />
  12. string">"150" string">"150"
  13. x="150" y="0"
  14. backgroundColor="green">
  15. />
  16. string">"150" string">"150"
  17. x="0" y="150"
  18. backgroundColor="blue">
  19. />
  20. string">"150" string">"150"
  21. x="150" y="150"
  22. backgroundColor="magenta">
  23. />

相关文章

精彩推荐