天天看點

在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