在flash主影片中显示加载子影片时的进度!MovieClipLoader类

其实这样的教程已经相当多了,但几乎每周都会有朋友问这样的问题,为了方便回复这样的帖子,所以自己写一个。以后再有朋友问,就直接引用了,自己写的解释起来也熟悉,嘿嘿...大虾们不要见笑,这只是给入门级朋友的一个推荐!!
以下是以图片举例,如果是SWF影片,完全一样,只是把代码里的".jpg"改成".swf"就行了。
//初始化一个数值,用于表示加载图片的序号
var j:Number = 1;
//这就是进度显示了
function imgloadjindu(Num) {
//我这里只是举例为一个文本显示,当然大家做成图形显示也可以,仍然在这里控制进度条的显示
//创建这个进度显示文本框的坐标,大小
this.createTextField("imgload_txt", 999, 150, 150, 320, 80);
//创建这个进度显示文本框文字格式
var txtformat:TextFormat = new TextFormat();
//字体
txtformat.font = "宋体";
//字号
txtformat.size = 20;
//颜色
txtformat.color = 0xff0000;
//应用以上设置的格式
this.imgload_txt.setNewTextFormat(txtformat);
//让它显示当前的进度,这里的Num是由函数外传递来的,imgloadjindu(Num),注意括号
this.imgload_txt.text = "图片加载中.."+Num+"%";
}
这里是给图片设置一个遮罩效果,以免太生硬,大家不用理它
function mask_func(mc:MovieClip) {
var i:Number = random(5)+1;
attachMovie("mask"+i+"_mc", "mask", 2009);
this.mask._visible = false;
mc.setMask(mask);
}
创建一个MC来装载要加载的图片
this.createEmptyMovieClip("image_mc", 2008);
//创建一个MovieClipLoader类来加载图片,推荐用这个类,这是学FLASH就必须要学会的,必须的!!,不推荐使用LoadMovie()
var mcload:MovieClipLoader = new MovieClipLoader();
//给MovieClipLoader申明一个用于侦听器的对像,这个名字可以随便取,只要在注册时也用这个名字。
var mclListener:Object = new Object();
//这就是加载完成时,可以有效地设置高,宽,透明度等等了
mclListener.onLoadInit = function(target:MovieClip) {
//trace(_width+"/"+_height);
//让j加1,在第二次点击时它就会加载下一张图片了。
j++;
//卸载舞台上刚才创建的用于显示进度的文本,否则,图片出来了,它还在显示100%
_root.imgload_txt.removeTextField();
//被加载对像的坐标,宽,高
target._x = 50;
target._y = 50;
target._width = 400;
target._height = 300;
///运行遮罩函数,刚才说了,不用理它
mask_func(target);
};
mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
//trace("文件/"+bytesLoaded+"/"+bytesTotal);
//这就是进度显示的关键!!onLoadProgress函数,它会不断变化的显示加载的进度
var loadNum:Number = int(bytesLoaded/bytesTotal*10000)/100;
//执行上面的进度显示函数
imgloadjindu(loadNum);
};
//给MovieClipLoader注册一个侦听器
mcload.addListener(mclListener);
//按钮一按,就开始加载动作
btn_btn.onRelease = function() {
mcload.loadClip("images/pic ("+j+").jpg", image_mc);
};最后一个是配套的图片文件夹。
[img]/uploads/allimg/080326/1707020.gif[/img]
[url=http://space.flash8.net/bbs/member.php?action=credits&view=getattach]附件[/url]
:
[url=http://space.flash8.net/bbs/attachment.php?aid=322829]调用外部图片或者影片的进度显示.fla[/url]

[img]/uploads/allimg/080326/1707020.gif[/img]
[url=http://space.flash8.net/bbs/member.php?action=credits&view=getattach]附件[/url]
:
[url=http://space.flash8.net/bbs/attachment.php?aid=322830]调用外部图片或者影片的进度显示.swf[/url]

[img]/uploads/allimg/080326/1707022.gif[/img]
[url=http://space.flash8.net/bbs/member.php?action=credits&view=getattach]附件[/url]
: images.rar
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/459.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值