Flash用loading载入外部swf文件的问题

我有一个loading的动画,两个swf文件:1.swf,2.swf。现在想在loading动画中载入这两个swf文件。我的loading动画需要获得这两个swf文件的已载入的字节数以及总字节数,想问下如何获得?麻烦说具体点,谢谢。

制作loading很简单,首先要定义你的swf文件的位置,然后创建一个加载器,进行加载,再创建侦听器,获得总字节数和当前字节数,最后加载完成,添加对象。如果它们在本地,而且文件较小,加载速度相当快时,加载字节数几乎可以忽略不计,但如果在网络或文件过大时,还是要用的。另外建议你再新建个影片剪辑,可以直观地显示加载大小。
如果你不需要加载字节数,代码如下:
var req1:URLRequest = new URLRequest (/*1.swf的路径*/);
var req2:URLRequest = new URLRequest (/*2.swf的路径*/);
var loader1:URLLoader = new URLLoader ();
var loader2:URLLoader = new URLLoader ();
loadSWF(loader1,req1);
loadSWF(loader2,req2);
function loadSWF(req:URLRequest,loader:URLLoader):void{
loader.addEventListener("open",startLoad);
loader.addEventListener("complete",loadComplete);
try{
loader.load(req);
}catch (err:ArgumentError){
trace("弄错了吧……");
}catch (error:SecurityError){
trace("弄错了吧……");
}
}
function startLoad(e:Event):void{
trace ("开始加载");
}
function loadComplete (e:Event):viod{
trace("成功啦!");
this.addChild(loader);
}
如果需要加载字节数,请将loadSWF改写:
function loadSWF(req:URLRequest,loader:URLLoader):void{
loader.addEventListener("open",startLoad);
loader.addEventListener("progress",progressHandler);
loader.addEventListener("complete",loadComplete);
try{
loader.load(req);
}catch (err:ArgumentError){
trace("弄错了吧……");
}catch (error:SecurityError){
trace("弄错了吧……");
}
}
再添加progressHandler函数:
function progressHandler(e:ProgressEvent):void{
//rect指场景中的长方形进度条
rect.width = e.bytesLoaded / e.bytesTotal * 200;
//如没有rect,请将上一行注释,去掉下一行的注释
//trace("已加载" + int(e.bytesLoaded / e.bytesTotal) + "%");
}
温馨提示:答案为网友推荐,仅供参考
相似回答