一个loader加载多个swf

系统 1829 0
      
        var
      
      
         _swfLoader:Loader;


      
      
        var
      
      
         _swfRequest:URLRequest;

 


      
      
        var
      
       _swfPathArr:Array = 
      
        new
      
       Array(
      
        "00.swf"
      
      , 
      
        "01.swf"
      
      , 
      
        "02.swf"
      
      
        );

 


      
      
        var
      
       _swfClipsArr:Array = 
      
        new
      
      
         Array();


      
      
        var
      
       _swfTempClip:
      
        MovieClip
      
      
        ;


      
      
        var
      
      
         _loadedSWFs:int;

 

 

startLoading(_swfPathArr);

 


      
      
        function
      
       startLoading(pathArr:Array):
      
        void
      
      
         {

    _swfLoader 
      
      = 
      
        new
      
      
         Loader();

    _swfRequest 
      
      = 
      
        new
      
      
         URLRequest();

   

    loadSWF(pathArr[
      
      0
      
        ]);

}

 


      
      
        function
      
       loadSWF(path:String):
      
        void
      
      
         {

    setupListeners(_swfLoader.contentLoaderInfo);

   

    _swfRequest.url 
      
      =
      
         path;

    _swfLoader.load(_swfRequest);

}

 


      
      
        function
      
       setupListeners(dispatcher:IEventDispatcher):
      
        void
      
      
         {

    dispatcher.addEventListener(Event.COMPLETE, onSwfComplete);

    dispatcher.addEventListener(ProgressEvent.PROGRESS, currentSwfProgress);

}

 


      
      
        function
      
       currentSwfProgress(event:ProgressEvent):
      
        void
      
      
         {

    
      
      
        var
      
       _perc:int = (event.bytesLoaded / event.bytesTotal) * 100
      
        ;

    
      
      
        //
      
      
         swfPreloader.percentTF.text = _perc + "%";
      
      
        }

 

 


      
      
        function
      
       onSwfComplete(event:Event):
      
        void
      
      
         {

    event.target.removeEventListener(Event.COMPLETE, onSwfComplete);

    event.target.removeEventListener(ProgressEvent.PROGRESS, currentSwfProgress);

 

    _swfTempClip 
      
      =
      
         event.target.content;

    _swfTempClip.customID 
      
      =
      
         _loadedSWFs;

    _swfClipsArr.push(_swfTempClip);

   

    
      
      
        if
      
      (_loadedSWFs <_swfPathArr.length - 1
      
        ) {

        _loadedSWFs
      
      ++
      
        ;

        loadSWF(_swfPathArr[_loadedSWFs]);

    } 
      
      
        else
      
      
         {

        _swfLoader.unloadAndStop();

        _swfLoader 
      
      = 
      
        null
      
      
        ;

        onCompletePreloading();

    }

}

 


      
      
        function
      
       onCompletePreloading():
      
        void
      
      
         {

    contentContainer.addChild(_swfClipsArr[
      
      0
      
        ]);

   

    news_btn.addEventListener(MouseEvent.CLICK, setContent);

    portfolio_btn.addEventListener(MouseEvent.CLICK, setContent);

    contact_btn.addEventListener(MouseEvent.CLICK, setContent);

}

 


      
      
        function
      
       setContent(event:MouseEvent):
      
        void
      
      
         {

    
      
      
        var
      
       _swfToAdd:
      
        MovieClip
      
      
        ;

   

    
      
      
        switch
      
      
        (event.target.name) {

        
      
      
        case
      
      
        "news_btn"
      
      
        :

        _swfToAdd 
      
      = _swfClipsArr[0
      
        ];

        
      
      
        break
      
      
        ;

       

        
      
      
        case
      
      
        "portfolio_btn"
      
      
        :

        _swfToAdd 
      
      = _swfClipsArr[1
      
        ];

        
      
      
        break
      
      
        ;

       

        
      
      
        case
      
      
        "contact_btn"
      
      
        :

        _swfToAdd 
      
      = _swfClipsArr[2
      
        ];

        
      
      
        break
      
      
        ;

    }

   

    contentContainer.removeChildAt(contentContainer.numChildren
      
      -1
      
        );

    contentContainer.addChild(_swfToAdd);

    trace(_swfToAdd.customID);

}
        
http://www.beautifycode.com/the-finer-art-of-loading-2-handling-multiple-swfs

 

一个loader加载多个swf


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论