Flex环境中“帧”的概念以及应用
2012-02-20 16:49
447 查看
“帧”是Flash的重要概念,是开发逐帧动画的基础。
使用Adobe的Flash IDE可以轻松地在时间轴上添加任意数量的关键帧,开发出多帧的swf。
Flex的本质就是Flash,可是你在Flex的书籍资料中有见过“帧”的字样吗?
几乎没有吧。
为什么?
基于Flex框架开发出的swf是只有两帧的电影剪辑(MovieClip)。
该MovieClip就是Flex中的SystemManager这个类。
SystemManager是启动类(文档类)。
我们知道,启动类(文档类)的构造函数会被FlashPlayer自动调用,因此SystemManager的构造函数就是Flex应用程序生命的起点。
SystemManager的第一帧放置了轻量的代码,用来实现下载进度监控(预加载),显示进度条,同时显示下载进度。
第二帧放置了重量级的代码,也就是我们使用FlexBuilder开发的Application和各种资源(图片等)。
SystemManager的构造函数中,首先用Stop()函数控制FlashPlayer播放器将播放头停留到在第一帧,然后动态化出进度条,并设置事件监听器用来监听swf文件的现在进度。
当下载完成后,SystemManager用NextFrame()函数控制播放头移动到第二帧,同时通过AS3的反射函数getDefinitionByName()动态生成Application类的实例。于是我们的Application开始执行构造函数,一切就此展开。
基于Flex框架开发出的swf是只有两帧的电影剪辑(MovieClip)。
我们使用FlexBuilder开发的Application和各种资源(图片等)只存在于MovieClip的第二帧。
Flex虽然也是基于帧的应用,但是Flex框架(SystemManager)隐藏了“帧”。
也就是说,对于Flex开发者而言,并不需要像开发Flash那样时刻关注“帧”,屏蔽了“帧”的概念,更有利于不熟悉Flash的开发者快速了解Flex的常规开发方法。
反过来,缺乏对Flex本质(Flex就是Flash)的认识,缺乏对Flex生命起源(SystemManager)的认识,缺乏对Flex组件生命周期的认识(该概念将在其他文章中说明),那么对于Flex,我们只能是“知其然,不知其所以然”。无法开发出高效的Flex程序,无法有效地扩展Flex(自定义组件,优化代码)。
开发RIA的各种开发语言、技术中,“帧”的概念是Flash(Flex)特有的,这有别于Silverlight、HTML5等。
该特点将被应用在特殊用途,使得在与同类技术的竞争中获得优势。
说HTML5是未来,Flex只有5年左右的领先优势,这样的预测或判断需要时间来验证。
参考:
==============================================================
/article/4005909.html
http://uh.9ria.com/space-32359-do-blog-id-9250.html
http://www.bit-101.com/blog/?p=946
http://www.riaidea.com/blog/archives/191.html
使用Adobe的Flash IDE可以轻松地在时间轴上添加任意数量的关键帧,开发出多帧的swf。
Flex的本质就是Flash,可是你在Flex的书籍资料中有见过“帧”的字样吗?
几乎没有吧。
为什么?
基于Flex框架开发出的swf是只有两帧的电影剪辑(MovieClip)。
该MovieClip就是Flex中的SystemManager这个类。
SystemManager是启动类(文档类)。
我们知道,启动类(文档类)的构造函数会被FlashPlayer自动调用,因此SystemManager的构造函数就是Flex应用程序生命的起点。
SystemManager的第一帧放置了轻量的代码,用来实现下载进度监控(预加载),显示进度条,同时显示下载进度。
第二帧放置了重量级的代码,也就是我们使用FlexBuilder开发的Application和各种资源(图片等)。
SystemManager的构造函数中,首先用Stop()函数控制FlashPlayer播放器将播放头停留到在第一帧,然后动态化出进度条,并设置事件监听器用来监听swf文件的现在进度。
当下载完成后,SystemManager用NextFrame()函数控制播放头移动到第二帧,同时通过AS3的反射函数getDefinitionByName()动态生成Application类的实例。于是我们的Application开始执行构造函数,一切就此展开。
基于Flex框架开发出的swf是只有两帧的电影剪辑(MovieClip)。
我们使用FlexBuilder开发的Application和各种资源(图片等)只存在于MovieClip的第二帧。
Flex虽然也是基于帧的应用,但是Flex框架(SystemManager)隐藏了“帧”。
也就是说,对于Flex开发者而言,并不需要像开发Flash那样时刻关注“帧”,屏蔽了“帧”的概念,更有利于不熟悉Flash的开发者快速了解Flex的常规开发方法。
反过来,缺乏对Flex本质(Flex就是Flash)的认识,缺乏对Flex生命起源(SystemManager)的认识,缺乏对Flex组件生命周期的认识(该概念将在其他文章中说明),那么对于Flex,我们只能是“知其然,不知其所以然”。无法开发出高效的Flex程序,无法有效地扩展Flex(自定义组件,优化代码)。
开发RIA的各种开发语言、技术中,“帧”的概念是Flash(Flex)特有的,这有别于Silverlight、HTML5等。
该特点将被应用在特殊用途,使得在与同类技术的竞争中获得优势。
说HTML5是未来,Flex只有5年左右的领先优势,这样的预测或判断需要时间来验证。
参考:
==============================================================
/article/4005909.html
http://uh.9ria.com/space-32359-do-blog-id-9250.html
http://www.bit-101.com/blog/?p=946
http://www.riaidea.com/blog/archives/191.html
相关文章推荐
- C/S和B/S架构的概念、优缺点、应用以及区别
- es6在window环境下的应用以及在sublime Text3里的使用。
- kafka学习(一) ---- 基本概念以及环境搭建
- 详解加密技术概念、加密方法以及应用(2)
- LAMP环境的搭建以及基于php动态网站的应用
- Spark Cluster与Application中的重要概念以及如何提交应用spark-submit
- HM编码器代码阅读(21)——熵编码的概念以及在HEVC中应用
- 分治法的概念以及应用
- .NET程序员也用JAVA:使用BlazeDS,SpringFramework,MySql,Flex构建RIA应用 part 1 :环境搭建.
- 分布式(集群)的基本概念以及分布式的应用场景【转】
- Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
- mysql 复制 总结(一) 基本概念以及环境搭建
- wampserver环境下terminal链接本地数据库,以及mysql密码的修改和phpmyadmin应用配置mysql密码位置
- 详解加密技术概念、加密方法以及应用(3)
- SCA概念与应用实践(4.环境安装和设置)
- 说说Spring中AOP和IOC的概念以及在spring中是如何应用的
- 精品教程--Android基本概念以及开发环境搭建
- wdOS系统中LAMP环境之应用(源码编译架设discuzX2.5论坛以及phpMyAdmin)
- Java反射的高级应用,模拟开发环境IDE动态搜索类成员以及方法,。。。。。
- JNDI的概念以及应用总结