其实这样的教程已经相当多了,但几乎每周都会有朋友问这样的问题,为了方便回复这样的帖子,所以自己写一个。以后再有朋友问,就直接引用了,自己写的解释起来也熟悉,嘿嘿...大虾们不要见笑,这只是给入门级朋友的一个推荐!!
以下是以图片举例,假如是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);
};
最后一个是配套的图片文件夹。
swf. fla. images 下载: 调用外部图片或者影片的进度显示.rar