Flex基本原理
了解Flex程序的生命周期
Flex程序从本质上讲,就是使用了(由AS编写的)Flex框架的Flash程序。
但在Flex程序中可以忽略timeline这个概念,所有的内容都集于一帧。
事实上Flex程序中的根,是继承flash.display.MovieClip的mx.managers.SystemManager。
SystemManager有两帧。第一帧是预加载程序,第二帧是主程序。
因此,所有程序在真正开始运行前,需要经过如下过程:
预初始(preinitialize)
程序在这个过程后,已经被实例化,但还未创建任何内容。
初始化(initialize)
程序在这个过程后,已创建好内容,但还未完成布局。
创建完成(creationComplete)
程序在这个过程后,已完成包括布局在内的所有创建。
在顺利完成以上3个过程后,SystemManager广播applicationComplete事件,意味着程序整装待发了。
SystemManager还管理着所有显示在前端的内容。包括弹出窗,鼠标指针,工具提示等。
SystemManager
有一个叫totelLevelSystemManager的属性。当Flex程序是一个独立程序时,该属性指向SystemManager的实例,而当
Flex程序是被加载到别的Flex程序时,该属性指向加载者的SystemManager实例。
所有UIComponents都有一个systemManager的属性,指向程序的SystemManager实例。
了解预加载器
预加载器由SystemManager在第一帧自动创建,当完成后发布complete事件,并进入第二帧,再由SystemManager删除。
除了complete以外,还有如下事件:
progress:程序下载过程
rslError:运行期共享库下载失败
rslProgress:运行期共享库下载过程
rslComplete:运行期共享库下载完成
initProgress:程序初始化过程
initComplete:程序初始化完成
在Flex程序中加载另一个Flex程序
被加载的Flex程序,在加载完毕后,自身内部会经历上述3个过程。最终,主程序才能对该程序进行有效的访问。
<!--
------------------------------------
B.mxml 生成 B.swf
--------------------------------------
-->
<?
xml version="1.0" encoding="utf-8"
?>
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="absolute"
>
<
mx:Script
>
<![C
相关文档:
--英文
mxmlc -locale=en_US -allow-source-path-overlap=true
-include-resource-bundles=mf,collections,containers,controls,core,effects,formatters,logging,SharedResources,skins,states,styles,validators
-source-path=D:/UBAS_HOME/ClientCode/demo/client/code/MainFrame/assets/locale/en_US
-output=E:/ ......
Flash/Flex也支持基于Socket的网络连接 ,服务器端可以是C++,VB,C#,Java等任一语言开发。监听一个网络端口便可以接收到Flash/Flex开发的客户端的连接。
ActionScript 3.0提供了通过Socket连接的方式与服务器端通信。这点是超越传统B/S结构的重要特征。这样使得网 ......
最近在项目中要用到flv播放器,由于flex自带的VideoDisplay组件不是很好用,就自己简单实现了一个,界面不是很美观,但功能都有了,正可谓麻雀虽小五脏俱全。下面是播放器的代码,还不会用flash做flv播放器的朋友,可以参考参考。
Player.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="ht ......
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_NumericStepper_textInput_editable_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xml ......
XML和ActionScript在创建组件方面各有优缺点:
在创建复合组件时,MXML可以时创建过程变得很容易,并且方便于对子控件进行布局。
在修改组件行为时,我们可以用ActionScript来修改他们的方法。
大多数时候,我们会使用MXML和ActionScript结合的方式来创建Flex组件和应用。
Flex提供了多种方式来结合使用MXML和ActionS ......