zoukankan      html  css  js  c++  java
  • AS3预加载SWF实例

            在页面上显示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,写入下列代码




                    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


  • 相关阅读:
    7.ASP.NET Core InProcess Hosting
    highcharts.Js
    Csharp: Linq Query
    HtmlAgility 抓取网页上的数据
    更改 Solution (.Sln) file
    Sql: Oracle paging
    css: hide or dispaly div
    Csharp:HttpWebRequest , HttpClient and RestSharp
    Csharp:jquery.ajax-combobox
    Csharp: TreeList Drag and Drop
  • 原文地址:https://www.cnblogs.com/in1ts/p/3572478.html
Copyright © 2011-2022 走看看