`
hereson
  • 浏览: 1454184 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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

阅读更多

  全局的就是(stage级别的)

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

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

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

 

     全局

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

    本地

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

     内容

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

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

坐标转换还有现成的方法

contentMouseX

返回mouse的内容坐标x值

contentMouseY

返回mouse的内容坐标Y值

contentToGlobal   

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

contentToLocal

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

globalToContent   

将全局的转成内容坐标

globalToLocal

全局的转成本地的

localToContent

本地到内容坐标

localToGlobal

本地到全局坐标

下面是一个小例子

<?xml version="1.0"?>
<!-- containers\intro\MousePosition.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    backgroundColor="white">
    
    <mx:Script>
        <![CDATA[
          import mx.controls.Alert;

          // Handle the mouseDown event generated 
          // by clicking in the application.
          private function handleMouseDown(event:MouseEvent):void {
                
            // Convert the mouse position to global  coordinate s.
            // The localX and localY properties of the mouse event contain
            // the  coordinate s at which the event occurred relative to the
            // event target, typically one of the 
            // colored internal Canvas controls.
            // A production version of this example could use the  stageX  
            // and stageY properties, which use the global  coordinate s, 
            // and avoid this step.
            // This example uses the localX and localY properties only to
            // illustrate conversion between different frames of reference.
            var pt:Point = new Point(event.localX, event.localY);
            pt = event.target.localToGlobal(pt);
                
            // Convert the global  coordinate s to the content  coordinate s 
            // inside the outer c1 Canvas control.
            pt = c1.globalToContent(pt);
               
            // Figure out which quadrant was clicked.
            var whichColor:String = "border area";
              
            if (pt.x < 150) {
                if (pt.y < 150)
                    whichColor = "red";
                else
                    whichColor = "blue";
            }
            else {
                if (pt.y < 150)
                    whichColor = "green";
                else
                    whichColor = "magenta";
            }
                
            Alert.show("You clicked on the " + whichColor);
          }
        ]]>
    </mx:Script>

    <!-- Canvas container with four child Canvas containers -->
    <mx:Canvas id="c1" 
        borderStyle="none" 
        width="300" height="300" 
        mouseDown="handleMouseDown(event);">
        
        <mx:Canvas 
            width="150" height="150" 
            x="0" y="0" 
            backgroundColor="red">
            <mx:Button   label="I'm in Red"/>
        </mx:Canvas>
        <mx:Canvas 
            width="150" height="150" 
            x="150" y="0"
            backgroundColor="green">
            <mx:Button   label="I'm in Green"/>
        </mx:Canvas>
        <mx:Canvas 
            width="150" height="150" 
            x="0" y="150"
            backgroundColor="blue">
            <mx:Button   label="I'm in Blue"/>
        </mx:Canvas>
        <mx:Canvas 
            width="150" height="150" 
            x="150" y="150"
            backgroundColor="magenta">
            <mx:Button   label="I'm in Magenta"/>
        </mx:Canvas>
    </mx:Canvas>
</mx:Application>

分享到:
评论

相关推荐

    FLEX 实现坐标系转换

    这里我们将深入探讨如何使用Adobe Flex技术来实现坐标系的转换。 Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建动态、交互式的Web界面,而坐标转换是此类应用中的...

    Flash(Flex)反编译及修改

    Flash和Flex是Adobe开发的两种相关技术,广泛用于创建交互式网页内容和应用程序。Flash是一种矢量图形和多媒体播放器,而Flex则是一种基于ActionScript和MXML的框架,用于构建富互联网应用(RIA)。在某些情况下,...

    应用flash制作flex样式

    Flash提供了丰富的绘图工具,可以创建自定义矢量图形,这些图形可以作为Flex组件的皮肤。通过将Flash中的设计导出为SWF或SVG格式,然后在Flex项目中导入,开发者可以轻松地将这些图形应用到Flex组件上,赋予它们独特...

    Flash+Flex+AIR移动开发入门经典

    《Flash+Flex+AIR移动开发入门经典》是一本专为初学者设计的教程,全面讲解了使用Adobe的Flash、Flex和AIR技术进行移动应用开发的知识体系。这本书旨在帮助读者掌握如何利用这些强大的工具来创建跨平台的交互式应用...

    flex与flash cs 交互

    Flex和Flash CS交互是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许开发者利用Flex的强大学习和开发框架,结合Flash CS的动画和视觉设计能力,创建出交互丰富的Web应用。以下是对这个主题的详细解释: ...

    Flex与Flash相互调用

    在数字媒体和网页应用开发领域,Flex和Flash是两种非常重要的技术。Flex基于ActionScript 3.0,主要用于构建富互联网应用程序(RIA),而Flash则是著名的动画和多媒体创作工具,其内容可以嵌入到网页中进行播放。...

    flash和flex交互 区域图

    在IT行业中,Flash和Flex是两种非常重要的技术,它们主要用于创建富互联网应用程序(RIA)。Flash是一种用于制作动画、视频和互动内容的平台,而Flex则是一个基于ActionScript和MXML的开源框架,用于构建高性能的...

    flash+flex+air移动开发入门经典(3)源码

    《Flash + Flex + Air 移动开发入门经典》是一本旨在引导初学者进入移动应用开发领域的书籍,尤其关注使用Adobe的Flash、Flex和Air技术。本资源提供了该书第三部分的源码,分为Chapter 9和Chapter 8两个章节,由于...

    FLEX和Actionscript开发FLASH游戏 flash游戏开发文档

    FLEX提供了MXML和ActionScript两种方式来编写用户界面。MXML是一种声明式语言,允许开发者以XML格式定义UI组件和布局。它简化了界面设计,使得非程序员也能参与设计过程。另一方面,ActionScript则用于处理程序逻辑...

    Flex Component Kit for Flash CS3

    Flex是一种开放源代码的框架,主要用于构建富互联网应用(RIA),而Flash则是一个广泛用于创建动画和交互式内容的平台。通过这个插件,两者之间的协同工作变得更加高效。 该插件的核心功能是将Flash CS3中的...

    Flash+Flex+Air移动开发入门经典 pdf

    《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...

    flash/flex画曲线,绘图板

    在IT行业中,Flash/Flex是一种基于ActionScript编程语言和Adobe Flex框架的开发工具,用于创建交互式的、富媒体的Web应用程序。"Flash/Flex画曲线,绘图板"这个主题涉及的是如何使用这些技术来创建一个允许用户自由...

    flash_flex.rar_flex

    在IT行业中,Adobe Flash Flex是一种基于ActionScript 3(AS3)的开发框架,用于构建富互联网应用程序(RIA)。这个“flash_flex.rar_flex”压缩包中的文档“flash_flex.doc”似乎包含了关于AS3和Flex开发的一百条...

    3dfz.rar_flash 3d翻转_flash AS 3_flash3d翻转_flash3d翻转效果_flex

    Flash 3D翻转是一种通过编程实现的动画效果,它允许用户从不同角度查看二维图像,从而产生三维立体的感觉。这种效果通常用在图片展示、产品预览或网页互动元素中,为用户提供更直观、更生动的体验。在描述中提到的...

    flex 3D拖拽不同角度观看

    Flex是一个开放源代码的框架,用于构建富互联网应用程序(RIA),而Papervision3D是Flash平台上广泛使用的3D图形库,它为Flex提供了强大的3D渲染能力。 首先,让我们了解Flex中的3D基础。在Flex中,我们可以通过...

    Flex3与flex4的区别

    标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...

    Flash Flex 12月 2011 年 杂志

    《Flash Flex 12月 2011 年 杂志》是针对Adobe Flash和Flex技术的一期专业杂志,发布于2011年12月。这本杂志聚焦于当时这两个关键技术的最新发展、趋势和应用案例,旨在帮助开发者、设计师以及IT专业人士深入了解并...

    让Flex3与flashcs3珠联璧合

    Flex3基于ActionScript 3.0,提供MXML和ActionScript两种编程方式。MXML是一种声明式语言,主要用于构建UI组件和布局,而ActionScript则用于编写业务逻辑和控制流程。Flex3的SDK包含了各种预定义的UI组件,如按钮、...

    flex3使用说明

    Flex3 使用说明 Flex3 是一个高效、免费的开源框架,用于构建具有表现力的 Web 应用程序。Flex3 可以与 Java 后台进行通信,并与 FusionCharts 结合使用,实现数据可视化。下面是 Flex3 的详细介绍: 一、Flex ...

Global site tag (gtag.js) - Google Analytics