[转] AS3自身下载代码

本文分享了一种AS3自加载实现方式,包括核心代码、LoadMC类及文档类调用方法。通过监听下载进度并更新UI反馈下载状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看了一下大家做的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中轮循
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值