今天看了一下大家做的AS3自身下载代码,自己也动手做了一个。附加了源文件,大家可以下载使用。
如果使用可以直接修改 LloadMC的皮肤就可以了。
先上代码
核心代码
接着是LoadMC的代码
文档类的调用方法
package {
import flash.display.MovieClip;
import Get_load;
public class Doo extends MovieClip {
var get_root_=this;
public function Doo() {
var ga=new Get_load;
ga.call_load(get_root_);
}
}
}
希望大家多多指教
AS3的自身loading 是不推荐侦听 ProgressEvent.PROGRESS的(在FF下可能会失败)
仍然推荐和AS2时一样,在enterFrame中轮循
如果使用可以直接修改 LloadMC的皮肤就可以了。
先上代码
核心代码
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import LoadMC;
public class Get_load {
var get_root_:Object;
var loadmc:LoadMC=new LoadMC();
/**
下载接口API
*/
public function call_load(get_root) {
//全局变量赋值
get_root_=get_root;
//停止SWF
get_root_.stop();
//开始下载
get_root_.loaderInfo.addEventListener(Event.COMPLETE,laod_complete);
get_root_.loaderInfo.addEventListener(ProgressEvent.PROGRESS,laod_progress);
}
/**
下载过程
*/
function laod_progress(ent:ProgressEvent) {
var tmp:Number=int(ent.target.bytesLoaded/ent.target.bytesTotal*100);
var res:String=tmp.toString()+'%';
//赋值给MC下载进度
loadmc.echo.text=res;
//动画形象表现
loadmc.gotoAndStop(tmp);
//给下载动画定位到舞台
get_root_.x=(get_root_.stage.width)/2;
get_root_.y=(get_root_.stage.height)/2;
get_root_.addChild(loadmc);
}
/**
下载完毕
*/
function laod_complete(ent:Event) {
get_root_.gotoAndStop(2);
//移除MC
get_root_.removeChild(loadmc);
}
}
}
接着是LoadMC的代码
package {
import flash.display.MovieClip;
import flash.text.TextField;
public class LoadMC extends MovieClip {
public function loadmc() {
var loadmc:LoadMC=new LoadMC();
loadmc.stop();
return loadmc;
}
}
}
文档类的调用方法
package {
import flash.display.MovieClip;
import Get_load;
public class Doo extends MovieClip {
var get_root_=this;
public function Doo() {
var ga=new Get_load;
ga.call_load(get_root_);
}
}
}
希望大家多多指教
AS3的自身loading 是不推荐侦听 ProgressEvent.PROGRESS的(在FF下可能会失败)
仍然推荐和AS2时一样,在enterFrame中轮循