zoukankan      html  css  js  c++  java
  • 一个loader加载多个swf

    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
  • 相关阅读:
    读《高效能人士的七个习惯》有感
    Springboot中的日志
    fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题
    java多线程编程实例
    IDEA插件配置推荐
    Spring Boot 自定义数据源 DruidDataSource
    zookeeper环境搭建
    eureka注册中心的使用
    记事本编码
    Chrome浏览器基本操作
  • 原文地址:https://www.cnblogs.com/602147629/p/3909611.html
Copyright © 2011-2022 走看看