一个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

一个loader加载多个swf

时间: 2024-07-30 23:43:28

一个loader加载多个swf的相关文章

[ActionScript 3.0] AS3.0 Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain

实际应用中, Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain,需要择情况而定. 1.当加载的子swf中有流存在时,比如视频或者声音,则最好需要指定新的应用程序域ApplicationDomain,如果没有指定,调用_ldr.unloadAndStop();时无法将子swf中的流从内存中卸载掉,了解原因,请深入了解应用程序域ApplicationDomain,代码如下: var ldr:Loader = new Loader(); var context:L

Oracle Bigdata Connector实战1: 使用Oracle Loader加载HDFS文件到Oracle数据库

部署jdk/Hadoop/OraLoader软件包 将准备好的软件包,逐一解压到hadoop用户home目录下: hadoop-2.6.2.tar.gz jdk-8u65-linux-x64.gz oraloader-3.4.0.x86_64.zip Hadoop软件部署如下: ├── hadoop-2.6.2 ├── jdk1.8.0_65 ├── oraloader-3.4.0-h2 设置环境变量 export JAVA_HOME=/home/hadoop/jdk1.8.0_65 expor

一个link加载多个css文件

细看正则时匹配慕课网链接时发现的,一个link加载多个css文件 http://static.mukewang.com/static/css/??base.css,common/common-less.css?t=2.5,u/u_common-less.css,u/plans-less.css,u/dynamic/home-less.css?v=201708111926 淘宝也有这样的链接 http://a.tbcdn.cn/p/fp/2011a/??html5-reset-min.css,gl

用C3中的animation和transform写的一个模仿加载的时动画效果

用用C3中的animation和transform写的一个模仿加载的时动画效果! 不多说直接上代码; html标签部分 <div class="wrap"> <h2>用C3中的animation和transform写的一个模仿加载的时动画效果</h2> <div class="demo"> <div></div> <div></div> <div></d

Sea.js 是一个模块加载器

1 模块定义define define(function(require,exports,module){ //require 引入需要的模块如jquery等 //var $ = require('./jquery'); //exports可以把方法或属性暴露给外部 exports.name = 'hi'; exports.hi = function(){ alert('hello'); } //module提供了模块信息 }); 2 使用定义好的模块seajs.use <!doctype ht

Canvas---Canvas图像加载、利用javascript回调机制实现一个图片加载器

canvas的drawImage方法有个缺点,就是当图片还未加载完成时调用它将无效. 当然,在高速运转的游戏主循环中,可以直接忽略这个问题,或者用 img.complete == true来做下判断. 在游戏循环之外的地方,可以用 img.onload = function (){};这样的回调解决. 但是,如果需要实现预先大量图片的加载,并且将加载进度告知用户,这时就需要一个图片加载器. 一.图片加载器原理 1.对于每张图片,开启对应的一个线程去负责加载,加载完成后修改一个变量的值-loade

【Jsoup学习礼记】从一个URL加载一个Document

存在问题 你需要从一个网站获取和解析一个HTML文档,并查找其中的相关数据.你可以使用下面解决方法: 解决方法 使用 Jsoup.connect(String url)方法: Document doc = Jsoup.connect("http://example.com/").get(); String title = doc.title(); 说明 connect(String url) 方法创建一个新的 Connection, 和 get() 取得和解析一个HTML文件.如果从该

webpack配置常用loader加载器

webapck中使用loader的方法有三种 使用loader之前必须运行安装 : npm install --save-dev xxx-loader (1)通过CLI : 命令行中运行 webpack --module-bind jade  --module-bind 'css=style!css' //jade,style,css后面可省略-loader,他们分别对.jade使用jade-loader,对.css使用style-loader和css-loader (2)通过require :

5.偶然看到的一个css加载动画

书上偶然看到的 先上一张素材 DOM <div class="loader"> </div> @keyframes loader{ to{background-position: -400px 0;} } .loader{ margin: 0 auto; width: 50px; height: 50px; background: url(img/loader.png) 0 0; background-size: cover; animation: loader