進(jìn)度條制作
一、“下載進(jìn)度條”的制作
為了讓朋友們收看MTV時(shí)了解作品的下載情況,也為了給你的MTV作品平添一道亮麗的風(fēng)景線,可以為你的MTV增加一個(gè)下載進(jìn)度條。
添加下載進(jìn)度條前,你得把MTV場(chǎng)景中第1幀上的“stop”幀動(dòng)作和播放按鈕實(shí)例先刪除。然后按以下步驟操作:
1、新建一個(gè)名為“下載條”的影片剪輯元件。選中第1層的第1幀,在舞臺(tái)中畫(huà)一個(gè)無(wú)邊線填充為綠、黃、紅線性漸變色的矩形,借助屬性面板設(shè)置其寬和高分別為400、6。選中該矩形,用對(duì)齊面板把它“左對(duì)齊”、“垂直中齊”。
2、新建一個(gè)名為“下載進(jìn)度條”的影片剪輯元件。選中第1層的第1幀,把庫(kù)中的“下載條”元件拖入舞臺(tái),居中后,在屬性面板里輸入實(shí)例名“mc1”。新建圖層2,選中第1幀,用矩形工具畫(huà)一個(gè)無(wú)填充色的矩形框,線條粗1,淡黃色。借助屬性面板設(shè)置其寬和高分別為402、8,居中。
3、回到主場(chǎng)景,在你制作的MTV場(chǎng)景的最上層插入一個(gè)圖層,命名為“進(jìn)度條”。選中第1幀,把庫(kù)里的“下載進(jìn)度條”元件拖入舞臺(tái)的底部靠左位置(右側(cè)留出一塊放置按鈕或下載進(jìn)度百分?jǐn)?shù)的空間)。選中舞臺(tái)上的“下載進(jìn)度條”實(shí)例,打開(kāi)動(dòng)作面板,輸入影片剪輯動(dòng)作腳本代碼:
onClipEvent (enterFrame) {
mx=_root._framesloaded;
max=_root._totalframes;
ss1=(mx/max)*100;
if (ss1<100) {
_root.a=Math.round(ss1)+"%";
}
if (ss1>=100) {
_root.gotoAndStop(2);
}
this.mc1._xscale = ss1;
}
4、在第2幀插入關(guān)鍵幀,把庫(kù)里的“播放按鈕”元件拖入舞臺(tái)放置在“下載進(jìn)度條”右側(cè)位置。刪除第2幀上的“下載進(jìn)度條”實(shí)例。選中“按鈕”實(shí)例,輸入按鈕動(dòng)作腳本代碼:
on (release) {
play();
}
5、在第3幀插入空白關(guān)鍵幀。
6、選中第1幀,用文本工具畫(huà)一個(gè)能容納百分比數(shù)字的文本框,放置于“下載進(jìn)度條”實(shí)例右側(cè),在屬性面板選中“動(dòng)態(tài)文本”,輸入變量名“a”,字體“黑體”,大小“20”,顏色“白色”。
7、再次選中第1幀,輸入幀動(dòng)作腳本代碼:
stop();
8、至此,下載進(jìn)度條就制作完成了。敲打Ctrl+Enter組合鍵,等播放文件導(dǎo)出完成后,再敲打一次Ctrl+Enter組合鍵,稍等片刻,你就可以查看模擬下載效果了。
?。埂⑷绻幌胗镁匦巫鱿螺d條,而想用更形象更漂亮的曲線作進(jìn)度條,那么只需按以下操作:
?。?)、做一個(gè)全長(zhǎng)100幀,按曲線運(yùn)動(dòng)一周的MC,同時(shí)讓曲線按mc的運(yùn)動(dòng)進(jìn)程而變色。拖入場(chǎng)景后注冊(cè)名:jdt
(2)、在語(yǔ)句:load = int(_root.getBytesLoaded() / _root.getBytesTotal() * 100);// 取整計(jì)算已下載的字節(jié)數(shù)的百分比并賦值給變量load后面加:
_root.jdt.gotoAndStop(load);// 進(jìn)度條同時(shí)按百分比數(shù)跳轉(zhuǎn)到相應(yīng)的幀上去;
二、“播放進(jìn)度條”的制作
如果你還想添加一個(gè)播放進(jìn)度條,則只須再按以下步驟操作:
1、用上述第1步的方法,制作一個(gè)名為“播放條”的影片剪輯元件。不過(guò),最好把播放條的顏色改用單色。
2、用上述第2步的方法,新建一個(gè)名為“播放進(jìn)度條”的影片剪輯元件。所不同的是,拖入“播放條”后,在屬性面板里輸入的實(shí)例應(yīng)名“mc2”。
3、回到主場(chǎng)景,選中“進(jìn)度條”圖層的第3幀,把庫(kù)里的“播放進(jìn)度條”元件拖入舞臺(tái),放在底部水平居中的位置。選中舞臺(tái)上的“播放進(jìn)度條”實(shí)例,打開(kāi)動(dòng)作面板,輸入影片剪輯動(dòng)作腳本代碼:
onClipEvent (enterFrame) {
nx=_root._currentframe;
max=_root._totalframes;
ss2=(nx/max)*100;
this.mc2._xscale = ss2;
}
4、這樣,播放進(jìn)度條也就制作完成了,你可以用上述第9步同樣的方法查看模擬播放效果。
用此方法,可以獨(dú)立制作播放進(jìn)度條。
三、不用動(dòng)作語(yǔ)句制作“播放進(jìn)度條”
無(wú)須用腳本也可以制作播放進(jìn)度條,而且很簡(jiǎn)單。操作步驟如下:
1、制作一個(gè)名為“播放條”的圖形元件,寬400、高3,無(wú)邊線,填充色自定。用對(duì)齊面板把它“左對(duì)齊”、“垂直中齊”。
2、在原作品的最上圖層插入兩個(gè)新圖層,把下面的一層命名為“播放條”,把上一層命名為“進(jìn)度框”。
3、選中“播放條”圖層上原動(dòng)畫(huà)開(kāi)始播放的那一幀,把庫(kù)里的“播放條”元件拖入舞臺(tái),放在你認(rèn)為理想的位置,在原作品的最后一幀插入關(guān)鍵幀。
4、選中“進(jìn)度框”圖層上原動(dòng)畫(huà)開(kāi)始播放的那一幀,畫(huà)一無(wú)填充色的線框,線粗0.5,框?qū)?01,框高4,線色自定。調(diào)整該框的位置,使其剛好套住“播放條”實(shí)例。爾后把此圖層加鎖。
5、選中舞臺(tái)中的“播放條”實(shí)例,用任意變形工具將其“右邊”往左推進(jìn),讓右邊盡量跟左邊靠近(為使操作方便,可將舞臺(tái)比例放大)。最后,創(chuàng)建運(yùn)動(dòng)過(guò)程。
至此,無(wú)須動(dòng)用腳本的播放進(jìn)度條制作完成。至于原理嘛,我想你看到這里時(shí)肯定早已明白。
一個(gè)簡(jiǎn)單易用的進(jìn)度條
把下面的代碼加到-root第一楨就OK了。
var myLoading:MovieClip;
var loadInfo:MovieClip;
var _lineBgcolor = "0x666666";
var _lineColor = "0x0000FF";
var _lineLen:Number = 200;
var _lineH:Number = 3;
var _txtColor;
var _txtAlign:String = "center";
var tb:Number;
var txtFormat:TextFormat = new TextFormat("Arial", null, 0x000000, true); myLoading = _root.createEmptyMovieClip("myLoading",10); //進(jìn)度條
loadInfo = myLoading.createEmptyMovieClip("line", 10);
loadInfo.lineStyle(1, _lineColor, 20);
loadInfo.moveTo(0, 0);
loadInfo.lineTo(_lineLen, 0);
loadInfo.lineTo(_lineLen, _lineH);
loadInfo.lineTo(0, _lineH);
loadInfo.lineTo(0, 0); //進(jìn)度顯示文本
loadInfo.createTextField("txt", 30, 0, 0, _lineLen, 22);
loadInfo.txt.autoSize = _txtAlign; //設(shè)置進(jìn)度條的位置(居中于主場(chǎng)景)
loadInfo._x = (Stage.width - _lineLen)/2;
loadInfo._y = Stage.height/2; //獲得影片大小并stop,再onEnterFrame
tb = _root.getBytesTotal();
_root.stop();
myLoading.onEnterFrame = function(){
var lb:Number = _root.getBytesLoaded();
var percent:Number = Math.round(lb/tb*100);
loadInfo.txt.text = percent+"%";
loadInfo.txt.setTextFormat(txtFormat);
loadInfo.lineStyle(_lineH, _lineBgcolor, 10);
loadInfo.moveTo(0, _lineH/2);
loadInfo.lineTo(percent*_lineLen/100, _lineH/2);
if (percent == 100) {
_root.play();
delete this.onEnterFrame;
loadInfo.clear();
loadInfo.txt.text = "";
}
}
在Flash中測(cè)試loading的最好方法是:
按下CTRL+Enter鍵后,選擇菜單:“視圖”-“模擬下載”,如果選擇網(wǎng)速慢一點(diǎn),任何短小的動(dòng)畫(huà)也可以測(cè)試。
loading現(xiàn)在是千變?nèi)f化,但萬(wàn)變不離其宗,就是二、三條指令,搞懂其意思,自己也可來(lái)個(gè)百變loading。