Flex应用启动背后的故事
转载自:http://www.blogjava.net/usherlight/archive/2007/04/17/111365.html
首先介绍一下SystemManager. SystemManager是Flex应用的主控者, 它控制着应用窗口, Application实例, 弹出窗口, cursors, 并管理着ApplicationDomain中的类. SystemManager是FlashPlayer实例化的第一个类, 它存储了主应用窗口的大小和位置信息, 保存其子组件比如:浮动弹出窗口和模态窗口的痕迹. 通过SystemManager可以获得内嵌字体,样式和document对象.
自定义的可视化组件(UIComponent的子类)只有在调用过addChild()后, 才会有一个SystemManager赋给他们, 之前是Null. 所以在自定义可视化组件的构造函数中不要使用SystemManager.
通常, Application对象创建时, 发生如下事件:
1. 实例化Application对象
2. 初始化Application.systemManager
3. Application在初始化过程之前, 派发预初始化事件.
4. 调用createChild(). 此时, 所有应用组件被创建, 所有组件的createChild()被调用.
5. Application派发初始化事件, 表明所有的组件初始化完毕.
6. 派发creationComplete事件
7. Application对象添加到显示列表中
8. 派发applicationComplete事件
大多数情况下, 我们使用<mx:Application>来创建application对象, 但如果使用ActionScript来创建的话, 那么建议不要在application的构造函数中创建组件, 推荐在crateChildren函数中, 主要是从性能方面考虑.
Flash包含的是一个时间线上的多个帧, 而Flex的SWF只包含2个帧. SystemManager, Preloader, DownloadProgressBar和少量工具类都在第一帧, 剩下的包括应用代码/ 内嵌资源全都在第二帧中. 当Flash Player下载下载SWF时, 只要接收到第一帧内足够的数据, 就会实例化SystemManager, 由它来创建Preloader, 然后创建DownloadProgressBar, 这两个对象会察看剩余字节的传输过程. 当第一帧的所有字节传输完毕后, SystemManager发送enterFrame到第二帧, 然后是其他事件. 最后Application对象派发applicationComplete事件.
相关文档:
Flex3样式设计工具(Flex Explorer) 说明:
Flex Explorer非常适合初学者使用,他可以让你快速上手FLEX设计。AIRIA
将 Flex3 component Explorer ,Flex Style Explorer,Flex Filter Explorer,Flex Primitive Explorer打包提供下载。其中 Flex3 component Explorer
包含了FLEX经 ......
基本事件处理
用于指定为响应特定事件而应执行的特定操作的技术称为事件处理。在编写执行事件处理的 ActionScript 代码时,您需要识
别三个重要元素:
• 事件源:发生该事件的是哪个对象?例如,哪个按钮会被单击,或哪个 Loader 对象正在加载图像?事件源也称为事件目
标,因为 Flash Player 或 AIR 将此对象作为 ......
样张图:
使用方法:
设置Application标签的preloader为 MyComponent.MyDownloadProgressBar
<mx:Application preloader="MyComponent.MyDownloadProgressBar" >
下面是MyDownloadProgressBar.as的代码:
package MyComponent
{
import flash.display.*;
import flash.events.*;
import flash.filte ......
原文地址:http://aaagu1234.blog.163.com/blog/static/400937152010022114749766/
Flex安全沙箱
Flex的最重要两个文件:MXML文件与AS文件。
MXML与AS的hello world,如何编译这就不说了(还有Flex与Flash什么区别等等这些基本点都不用提了):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmln ......
///
前面的几乎都是在抄书,是要改一下了
Tips:
1、Flex
Builder项目或ActionScript项目会作为一个容器,容纳所有资产。资产即项目运行所需的各种各样的文件(MXML、AS、图片和XML等)。Flex
Builder会为我们跟踪这些不同的资产,故Flex
Builder要求我们只能在项目内创建或导入这些资产。
2、通常只有一个MXML文件 ......