Flash作品中預(yù)設(shè)的幀速率只是理想化的,實(shí)際上Flash處理程序或是渲染圖像時(shí)需要消耗一定的時(shí)間,加上機(jī)器的差別,動(dòng)畫運(yùn)行時(shí)每一幀的顯示速度不盡相同。比如在一幀中放置過多的符號(hào),該幀的幀速率就會(huì)遠(yuǎn)遠(yuǎn)低于預(yù)設(shè)的幀速率,導(dǎo)致畫面播放不流暢,或是掉幀的情況。如果使用幀速率測(cè)試器來檢測(cè)您的動(dòng)畫,則可發(fā)現(xiàn)上述問題。因?yàn)閹俾蕼y(cè)試器工作時(shí)會(huì)顯示出影片當(dāng)前的平均幀速率??傊?,無論是設(shè)計(jì)游戲還是制作大型動(dòng)畫,速度慢、運(yùn)行不穩(wěn)定的作品是不會(huì)有吸引力的,誰(shuí)也無法去忍受一個(gè)只有4幀/秒的動(dòng)畫。
設(shè)計(jì)要點(diǎn):
首先測(cè)試器本身要盡量的簡(jiǎn)單,否則會(huì)影響測(cè)試效果。測(cè)試器中主要就是一個(gè)用來輸出測(cè)試結(jié)果的動(dòng)態(tài)文本和一個(gè)重置按鈕。使用重置按鈕是為得到一個(gè)經(jīng)過準(zhǔn)確計(jì)算的幀速率,其工作方式就是刷新測(cè)試器。測(cè)試器測(cè)試本身時(shí),顯示的幀速率應(yīng)該和預(yù)設(shè)值是一樣的,我們這個(gè)例子預(yù)設(shè)為36幀/秒。
效果預(yù)覽:
設(shè)計(jì)步驟:
1、打開Flash MX,設(shè)置場(chǎng)景大小為350px×100px,背景色為"#0E6A99"(其實(shí),場(chǎng)景的設(shè)置是無關(guān)緊要的)。按快捷鍵"Ctrl+F8"新建一個(gè)名為"fps"的影片剪輯符號(hào)。
2、在符號(hào)"fps"的場(chǎng)景里點(diǎn)擊選中工具面板中的文本工具 ,然后創(chuàng)建一個(gè)靜態(tài)文本,輸入"幀速率:"幾個(gè)字,如圖1所示。接著再創(chuàng)建一個(gè)動(dòng)態(tài)文本框,點(diǎn)選中該動(dòng)態(tài)文本框,在其屬性面板里進(jìn)行如圖2所示的設(shè)置。最關(guān)鍵的設(shè)置是一定要定義變量"out"。
3、按快捷鍵"Ctrl+F8"新建一個(gè)名為"button"的按鈕符號(hào)(按鈕的設(shè)計(jì)要盡量簡(jiǎn)單)。在按鈕上輸入"重置"兩個(gè)字,如示例所示。
4、點(diǎn)擊按鈕,點(diǎn)選彈出菜單中的"動(dòng)作"命令,在"動(dòng)作"面板中輸入如下代碼:
on(release){ //release事件是在鼠標(biāo)指針經(jīng)過按鈕時(shí)釋放鼠標(biāo)按鈕
frame = 0; //變量frame的作用是紀(jì)錄當(dāng)前幀數(shù)
n = getTimer(); //函數(shù)getTimer()可以返回影片已經(jīng)播放的時(shí)間,單位為毫秒
}
5、回到主場(chǎng)景中。按快捷鍵"Ctrl+L"打開庫(kù),把庫(kù)中的影片剪輯符號(hào)"fps"拖拽到主場(chǎng)景中。
6、右鍵點(diǎn)擊影片剪輯"fps",點(diǎn)選彈出菜單中的"動(dòng)作"命令,并在"動(dòng)作"面板中輸入如下代碼:
//onClipEvent是一個(gè)"事件"觸發(fā)器。當(dāng)某個(gè)事件發(fā)生時(shí),就執(zhí)行花括號(hào)中的語(yǔ)句。
//load事件是當(dāng)影片剪輯被載入時(shí),即執(zhí)行語(yǔ)句。
onClipEvent (load) {
frame = 1;
n = 0;
}
onClipEvent (enterFrame) { //enterFrame事件是以影片每執(zhí)行一幀就執(zhí)行一次語(yǔ)句
//變量time用來紀(jì)錄當(dāng)前影片運(yùn)行的時(shí)間
time = (getTimer( )- n)/1000;
//Math對(duì)象的ceil方法可以返回大于等于括號(hào)中數(shù)值并與其最接近的整數(shù)
//當(dāng)前幀數(shù)frame除以播放時(shí)間time即可得到當(dāng)前的幀速率
out = Math.ceil(frame/time);
//變量frame(幀數(shù))進(jìn)行累加
frame++;
}
到這里,這個(gè)幀速率測(cè)試器就設(shè)計(jì)好了?,F(xiàn)在只要把它直接復(fù)制并粘貼到所要測(cè)試的動(dòng)畫中就可以使用了。注意,使用測(cè)試器時(shí),*先在被測(cè)試動(dòng)畫的場(chǎng)景中新建一層,然后再把測(cè)試器復(fù)制、粘貼到該層中,這樣便于調(diào)整測(cè)試器的位置以及修改和清除。原文件下載學(xué)習(xí)