总是加载东西觉得麻烦,封装了一个加载类,共享一下。
/**
*Author:齐齐兽
*Function:Load external swf file
*
**/
import flash.display.Loader;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.ProgressEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.utils.ByteArray;
[Event(name='loaded',type='loaded')]
[Event(name='progress',type='progress')]
public class LoaderTool
{
private var _assetsURL:String;
private var urlLoader:URLLoader=new URLLoader;
private var loader:Loader=new Loader;
private var _result:Object;
private var _percent:int;
public static const dispatcher:EventDispatcher=new EventDispatcher();
public function LoaderTool(assetsURL:String)
{
this._assetsURL=assetsURL;
urlLoader.dataFormat=URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, urlLoaderComplete);
urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
}
public function start():void
{
urlLoader.load(new URLRequest(this._assetsURL));
}
private function urlLoaderComplete(event:Event):void
{
loader.loadBytes(this.urlLoader.data as ByteArray);
}
private function onComplete(event:Event):void
{
this._result=event.currentTarget;
LoaderTool.dispatcher.dispatchEvent(new Event('loaded'));
}
private function onProgress(event:Event):void
{
_percent=urlLoader.bytesLoaded / urlLoader.bytesTotal * 100
LoaderTool.dispatcher.dispatchEvent(new Event('progress'));
}
public function get result():Object
{
return this._result;
}
public function get percent():int
{
return this._percent;
}
}
采用二进制二次加载方法,为的是避开安全沙箱。加载完毕派发loaded事件;如果需要播放加载函数,监听progress事件即可,使用percent,返回的是0-100的整数。
使用示例:
private var UIloadTool:LoaderTool=new LoaderTool(ui_URL);
this.UIloadTool.start(); //加载UI库
LoaderTool.dispatcher.addEventListener('loaded', UILoaded);
分享到:
相关推荐
Flex自定义加载条的一个小示例。里面有readMe文本
NULL 博文链接:https://qiqishou.iteye.com/blog/602268
flex可自定义圆形加载进度条例子代码,非常好看的特效,只能用炫酷来形容,感兴趣就下载看看吧,用在自己的网站觉得吸引眼球!
flex的自定义加载器,代码都在里面.写的比较简单,一看就知道怎么做了.
flex自定的加载进度条,替换flex Application的preloader。
flexBulider页面加载动态图片的显示
Flex和Flash图片加载条 Flex和Flash图片加载条
利用flex开发web时,需要加载html,附件中时采用flex3做的示例。
flex自定义的预加载进度条动画的一个demo,非常使用。
本例,flash内嵌在flex里,示例了: 1、flash调用flex的函数(方法) 2、flex调用flash的函数(方法)
flex调用flash cs 里方法;flex响应flash的点击事件;flex给flash变量赋值
www.iflex4.com制作 qq群:121987778 更多资料请访问网站。
flex加载swf的N种方法.zip
Flex加载GIF动画处理类 ,Flex加载GIF动画处理类 ,Flex加载GIF动画处理类
flex 自定义组件,UI,flex 自定义组件。
flex 高级自定义组件 需要重写的方法,以及为什么要重写,何时调用等。
Flex4自定义组件 介绍了flex中如何自定义组件以及相关应用
Flex加载进度流程图以及说明文字,通过它可以粗线条体了解Flex工程师的设计思路。
Flex视图切换,自定义控件Demo.rar Flex视图切换,自定义控件Demo.rar Flex视图切换,自定义控件Demo.rar Flex视图切换,自定义控件Demo.rar
Flex中加载SWF方法,介绍了flex 对 swf 加载和处理