读书人

[转] AS3自身上载代码

发布时间: 2012-12-26 14:39:29 作者: rapoo

[转] AS3自身下载代码
今天看了一下大家做的AS3自身下载代码,自己也动手做了一个。附加了源文件,大家可以下载使用。
如果使用可以直接修改 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中轮循

读书人网 >编程

热点推荐