AS3预加载SWF实例
2013-09-11 16:07
155 查看
在页面上显示SWF是要等到目标完全被加载完才会渲染出来。当加载的SWF文件比较大时,页面会处于空白状态,用户体验不好。较好的做法是做一个文件大小较小的loading动画来加载目标SWF,但对于单独的项目来说并不是最好的做法,因为这样无疑要维护多一个项目。看看下面这种做法:
1.创建Preloading.fla,设置Export class in Frame:2(第二帧才运行Main class)
2.在库中新建元件McLoading,Type:MovieClip,并勾上Export for ActionScript
3.在库中新建元件McMain,Type:MovieClip,并勾上Export For ActionScript,把Class改为Preloading
4.在场景中新建两帧,第一帧放McLoading,第二帧放McMain
5.在FB中新建Professional项目,并选择Preloading.fla作为Target
6.在FB中新建类McLoading,写入下列代码
7.在FB中编辑Preloading.as,写入下列代码
源码:Preloading.zip
1.创建Preloading.fla,设置Export class in Frame:2(第二帧才运行Main class)
2.在库中新建元件McLoading,Type:MovieClip,并勾上Export for ActionScript
3.在库中新建元件McMain,Type:MovieClip,并勾上Export For ActionScript,把Class改为Preloading
4.在场景中新建两帧,第一帧放McLoading,第二帧放McMain
5.在FB中新建Professional项目,并选择Preloading.fla作为Target
6.在FB中新建类McLoading,写入下列代码
public function McLoading() { loaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress); loaderInfo.addEventListener(Event.COMPLETE, onComplete); } private function onProgress(event:ProgressEvent):void { trace("loading:"+int(event.bytesLoaded / event.bytesTotal * 100) + "%"); } private function onComplete(event:Event):void { trace('loading complete'); var mc:MovieClip = parent as MovieClip; mc.gotoAndStop(2); }
7.在FB中编辑Preloading.as,写入下列代码
public function Preloading() { addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage(event:Event):void { event.currentTarget.removeEventListener(event.type,onAddedToStage); trace('addedTostage'); }
源码:Preloading.zip
相关文章推荐
- AS3预加载SWF实例
- AS3 使用unloadAndStop()卸载加载的swf以及里面的声音
- 绕开AS3安全沙箱,跨域加载SWF
- AS3如何外部加载swf,并使用其中的元件或者类
- 绕开AS3安全沙箱,跨域加载SWF
- AS3运行时加载外部库,调用swf中的库
- 绕开AS3安全沙箱,跨域加载SWF
- AS3加载外部swf资源库中的元件(MovieClip)
- AS3加载操作swf
- 转:AS3 使用unloadAndStop()卸载加载的swf以及里面的声音
- 绕开AS3安全沙箱,跨域加载SWF
- AS3使用unloadAndStop()卸载加载的swf以及里面的声音
- 绕开AS3安全沙箱,跨域加载SWF
- AS3:加载swf,直接根据类名获取影片剪辑
- 绕开AS3安全沙箱,跨域加载SWF
- AS3安全沙箱实现跨域加载swf,jpg,png,gif
- AS3加载swf与ApplicationDomain
- 绕开AS3安全沙箱,跨域加载SWF(转)
- as3: 任务队列 (加载pic,xml,txt,swf)
- 绕开AS3安全沙箱,跨域加载SWF