全局的就是(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>
分享到:
相关推荐
这里我们将深入探讨如何使用Adobe Flex技术来实现坐标系的转换。 Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建动态、交互式的Web界面,而坐标转换是此类应用中的...
Flash和Flex是Adobe开发的两种相关技术,广泛用于创建交互式网页内容和应用程序。Flash是一种矢量图形和多媒体播放器,而Flex则是一种基于ActionScript和MXML的框架,用于构建富互联网应用(RIA)。在某些情况下,...
Flash提供了丰富的绘图工具,可以创建自定义矢量图形,这些图形可以作为Flex组件的皮肤。通过将Flash中的设计导出为SWF或SVG格式,然后在Flex项目中导入,开发者可以轻松地将这些图形应用到Flex组件上,赋予它们独特...
《Flash+Flex+AIR移动开发入门经典》是一本专为初学者设计的教程,全面讲解了使用Adobe的Flash、Flex和AIR技术进行移动应用开发的知识体系。这本书旨在帮助读者掌握如何利用这些强大的工具来创建跨平台的交互式应用...
Flex和Flash CS交互是开发富互联网应用程序(RIA)时常用的一种技术组合,它允许开发者利用Flex的强大学习和开发框架,结合Flash CS的动画和视觉设计能力,创建出交互丰富的Web应用。以下是对这个主题的详细解释: ...
在数字媒体和网页应用开发领域,Flex和Flash是两种非常重要的技术。Flex基于ActionScript 3.0,主要用于构建富互联网应用程序(RIA),而Flash则是著名的动画和多媒体创作工具,其内容可以嵌入到网页中进行播放。...
在IT行业中,Flash和Flex是两种非常重要的技术,它们主要用于创建富互联网应用程序(RIA)。Flash是一种用于制作动画、视频和互动内容的平台,而Flex则是一个基于ActionScript和MXML的开源框架,用于构建高性能的...
《Flash + Flex + Air 移动开发入门经典》是一本旨在引导初学者进入移动应用开发领域的书籍,尤其关注使用Adobe的Flash、Flex和Air技术。本资源提供了该书第三部分的源码,分为Chapter 9和Chapter 8两个章节,由于...
FLEX提供了MXML和ActionScript两种方式来编写用户界面。MXML是一种声明式语言,允许开发者以XML格式定义UI组件和布局。它简化了界面设计,使得非程序员也能参与设计过程。另一方面,ActionScript则用于处理程序逻辑...
Flex是一种开放源代码的框架,主要用于构建富互联网应用(RIA),而Flash则是一个广泛用于创建动画和交互式内容的平台。通过这个插件,两者之间的协同工作变得更加高效。 该插件的核心功能是将Flash CS3中的...
《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 ...
在IT行业中,Flash/Flex是一种基于ActionScript编程语言和Adobe Flex框架的开发工具,用于创建交互式的、富媒体的Web应用程序。"Flash/Flex画曲线,绘图板"这个主题涉及的是如何使用这些技术来创建一个允许用户自由...
在IT行业中,Adobe Flash Flex是一种基于ActionScript 3(AS3)的开发框架,用于构建富互联网应用程序(RIA)。这个“flash_flex.rar_flex”压缩包中的文档“flash_flex.doc”似乎包含了关于AS3和Flex开发的一百条...
Flash 3D翻转是一种通过编程实现的动画效果,它允许用户从不同角度查看二维图像,从而产生三维立体的感觉。这种效果通常用在图片展示、产品预览或网页互动元素中,为用户提供更直观、更生动的体验。在描述中提到的...
【使用FLEX和ACTIONSCRIPT开发FLASH游戏】 在开发FLASH游戏时,FLEX和ACTIONSCRIPT是两个重要的技术。FLEX是一个开放源代码的框架,用于构建富互联网应用(RIA),而ACTIONSCRIPT是Adobe Flash环境中用于创建交互性...
标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...
《Flash Flex 12月 2011 年 杂志》是针对Adobe Flash和Flex技术的一期专业杂志,发布于2011年12月。这本杂志聚焦于当时这两个关键技术的最新发展、趋势和应用案例,旨在帮助开发者、设计师以及IT专业人士深入了解并...
Flex3基于ActionScript 3.0,提供MXML和ActionScript两种编程方式。MXML是一种声明式语言,主要用于构建UI组件和布局,而ActionScript则用于编写业务逻辑和控制流程。Flex3的SDK包含了各种预定义的UI组件,如按钮、...
Flex3 使用说明 Flex3 是一个高效、免费的开源框架,用于构建具有表现力的 Web 应用程序。Flex3 可以与 Java 后台进行通信,并与 FusionCharts 结合使用,实现数据可视化。下面是 Flex3 的详细介绍: 一、Flex ...
Flex 3D是一种基于Adobe Flash Platform的开源框架,用于创建具有丰富三维(3D)图形效果的Web应用程序。这个框架允许开发者使用ActionScript 3.0编程语言来构建交互式的、高性能的3D用户界面。Flex 3D的全称是...