Flex项目页面加载时引用Flash制作的进度动画
来源:互联网 发布:网络改编歌曲 编辑:程序博客网 时间:2024/05/17 02:09
Flex加载页面时,进度条根据加载页的数值变化,显示以上的效果。
as层的代码如下:
var rectCacheHeight:Number=rectProgress.height;rectProgress.height=12;invertBG.mask=invertMask_mc; //达到倒影效果,invertMask_mc是渐变的形状块//函数preloading的两个参数str_loaded,str_total分别是当前进度数,总加载数//是用来读取Flex项目中setDownloadProgress函数的两个参数complete与totalfunction preloading(str_loaded:Number,str_total:Number){ var rectProgress_height:Number=Math.floor((str_loaded*rectCacheHeight)/str_total); rectProgress.height=rectProgress_height;}
然后在库栏中,把此影片剪辑导出为PopoProgress.SWC文件,并引入到Flex项目的libs库中
注:库栏中,导出的SWC的名称与该影片剪辑的名称要一样,否则,Flex引用不了。( 待验证)
在Flex中新建ActionStript类文件,DownLoadProgressBar.as
package{ import flash.events.Event; import flash.events.ProgressEvent; import mx.preloaders.SparkDownloadProgressBar; //继承SparkDownloadProgressBar类 public class DownLoadProgressBar extends SparkDownloadProgressBar { private var spreLoader:PopoProgress; //spreLoader定义为PopoProgress类型 public function DownLoadProgressBar() {super(); } override protected function initCompleteHandler(event:Event):void{dispatchEvent(new Event(Event.COMPLETE)); }//初始化完成后执行的事件,既是加载进度结束后打开的主页面事件 override protected function createChildren():void{if(!spreLoader){spreLoader=new PopoProgress();var sX:Number=Math.round((stage.stageWidth-spreLoader.width/2)/2);var sY:Number=Math.round((stage.stageHeight-spreLoader.height/2)/2);spreLoader.x=sX;spreLoader.y=sY;spreLoader.scaleX=spreLoader.scaleY=1.5;this.addChild(spreLoader);} }//用来判断spreLoader对象有没有添加,定义了位置与大小 override protected function showDisplayForInit(elapsedTime:int, count:int):Boolean{return true; } override protected function showDisplayForDownloading(elapsedTime:int, event:ProgressEvent):Boolean{return true; } override protected function setDownloadProgress(completed:Number, total:Number):void{spreLoader.preloading(completed,total); } //这里就是引用了spreLoader.preloading的方法,读取complete与total数值,从而使Flash动画的进度条变化 override protected function setInitProgress(completed:Number, total:Number):void{//设置初始化进度 } override protected function initProgressHandler(event:Event):void{//设置初始化进度事件 } }}
最后在主程序中<s:Application 添加属性preloader="包地址.DownLoadProgressBar" ....
usePreloader 指是否使用加载页面的动画,默认是true
此文是参考了以下两篇案例:
http://www.adobe.com/cn/devnet/flex/articles/flex-custom-preloader.html
http://www.ckplayer.com/bbs/forum.php?mod=viewthread&tid=10
0 0
- Flex项目页面加载时引用Flash制作的进度动画
- CSS3制作动画加载页面
- 解析: Flex初始化时、加载进度监控的设计思路
- 解析: Flex初始化时、加载进度监控的设计思路: (2)监控并行加载进度的定时器
- 自定义加载进度动画
- flex builder 如何 引用 flash的组件
- flash的动画元件作FLEX皮肤
- 网页加载进度页面
- Flex制作的swf加载时的设置样本
- Flash引导层动画的制作
- Flash交互动画的制作(一)
- Flash交互动画的制作(一)
- Flash交互动画的制作(一)
- Flash动画制作的基本步骤
- 学习FLASH制作动画的关键技术点
- openscales flex 加载flash
- flash 动画制作基础知识
- Flash动画制作快捷方式
- cmd命令整理(待完善)
- /dev/zero是什么(详解)
- 如何判断自己是否具有成为一名优秀程序员的潜质
- hdoj1019--Least Common Multiple
- ZMQ 第一章 ZeroMQ基础
- Flex项目页面加载时引用Flash制作的进度动画
- 关于Myeclipse的设置及快捷方式
- 我爱的人就是你
- IOS 观察者模式
- /dev/zero和/dev/null的区别
- 在线latex 并生成pdf网站:writelatex
- 【OpenCV入门指南】第一篇 安装OpenCV
- awk 用法
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules