天才教育網(wǎng)合作機(jī)構(gòu) > 設(shè)計(jì)軟件培訓(xùn)機(jī)構(gòu) > Flash培訓(xùn)機(jī)構(gòu) >

東莞設(shè)計(jì)培訓(xùn)網(wǎng)

歡迎您!
朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:設(shè)計(jì)軟件培訓(xùn)資訊 > Flash培訓(xùn)資訊 > 輕松打造Flash幀速率測(cè)試器

輕松打造Flash幀速率測(cè)試器

日期:2005-12-24 00:00:00     瀏覽:382    來源:東莞設(shè)計(jì)培訓(xùn)網(wǎng)

  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í)

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: