欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ActionScript3.0中建立幀頻計(jì)數(shù)器的方法

  發(fā)布時(shí)間:2010-07-12 21:39:43   作者:佚名   我要評論
在這個(gè)教程中,你將學(xué)會如何測量Flash中當(dāng)前的幀頻,并將其顯示出來。

幀頻的重要性
每一幀上都是一幅靜止的圖片,快速連續(xù)的幀會產(chǎn)生動(dòng)畫,每秒的幀數(shù)越多,展現(xiàn)的動(dòng)畫也就越流暢。

測幀頻能讓我們檢測動(dòng)畫的進(jìn)程,如果需要的話還可以優(yōu)化動(dòng)畫。

當(dāng)在不同的運(yùn)行環(huán)境中測試動(dòng)畫時(shí)這個(gè)是非常有用的,例如瀏覽器中,電腦中,電視或手機(jī)中。

我們可以通過使用getTime()方法測幀頻,并即時(shí)的在舞臺中創(chuàng)建文本域來輸出結(jié)果。

——————————————————————————–

第一步:創(chuàng)建新文檔
打開Flash并創(chuàng)建一個(gè)新Flash文檔(ActionScript 3).

——————————————————————————–

第二步:打開動(dòng)作畫板

執(zhí)行窗口>動(dòng)作打開動(dòng)作面板。

——————————————————————————–

第三步:變量

我們將使用三個(gè)變量,如下所示:

var startTime:Number; //用來計(jì)算相對時(shí)間
var framesNumber:Number = 0; //當(dāng)前幀頻數(shù)
var fps:TextField = new TextField(); //展示實(shí)際幀頻的文本域

——————————————————————————–

第四步:主函數(shù)
這是計(jì)數(shù)器的主函數(shù):

function fpsCounter():void
{
startTime = getTimer(); //當(dāng)動(dòng)畫開始時(shí)以毫秒為單位獲取時(shí)間
addChild(fps); // 向舞臺添加文本域

addEventListener(Event.ENTER_FRAME, checkFPS); //添加逐幀監(jiān)聽器并執(zhí)行checkFPS函數(shù)
}

——————————————————————————–

第五步:檢查幀頻

這個(gè)函數(shù)將計(jì)算頻幀:

function checkFPS(e:Event):void
{
var currentTime:Number = (getTimer() – startTime) / 1000; //當(dāng)函數(shù)執(zhí)行的時(shí)候以秒為單位獲取時(shí)間

framesNumber++; //計(jì)數(shù)器加1

if (currentTime > 1) //判斷當(dāng)前時(shí)間是否比1大
{
fps.text = “FPS: ” + (Math.floor((framesNumber/currentTime)*10.0)/10.0); //計(jì)算頻幀并在文本域展示
startTime = getTimer(); //重設(shè)開始的時(shí)間
framesNumber = 0; //重設(shè)幀數(shù)
}
}

——————————————————————————–

第六步:調(diào)用函數(shù)
用下面的一行代碼啟動(dòng)主函數(shù):

fpsCounter();

——————————————————————————–

第七步:全部的代碼:

全部的代碼是下面這樣的:

var startTime:Number;
var framesNumber:Number = 0;
var fps:TextField = new TextField();

function fpsCounter():void
{
startTime = getTimer();
addChild(fps);

addEventListener(Event.ENTER_FRAME, checkFPS);
}

function checkFPS(e:Event):void
{
var currentTime:Number = (getTimer() – startTime) / 1000;

framesNumber++;

if (currentTime > 1)
{
fps.text = “FPS: ” + (Math.floor((framesNumber/currentTime)*10.0)/10.0);
startTime = getTimer();
framesNumber = 0;
}
}

fpsCounter();

——————————————————————————–

第八步:文檔類版

可能比起時(shí)間軸代碼你更習(xí)慣用文檔類。下面的部分說明了如何使用。

package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
import flash.utils.getTimer;

public class FPSDemo extends MovieClip
{
public var startTime:Number;
public var framesNumber:Number = 0;
public var fps:TextField = new TextField();

public function FPSDemo()
{
fpsCounter();
}

public function fpsCounter():void
{
startTime = getTimer();
addChild(fps);

addEventListener(Event.ENTER_FRAME, checkFPS);
}

public function checkFPS(e:Event):void
{
var currentTime:Number = (getTimer() – startTime) / 1000;

framesNumber++;

if (currentTime > 1)
{
fps.text = “FPS: ” + (Math.floor((framesNumber/currentTime)*10.0)/10.0);
startTime = getTimer();
framesNumber = 0;
}
}
}
}

你應(yīng)用這個(gè)類在任意一個(gè)項(xiàng)目中嵌入一個(gè)這樣的頻幀計(jì)數(shù)器:

var fpsDemo:FPSDemo = new FPSDemo();
addChild( fpsDemo );

只要將它復(fù)制到一個(gè)新AS文件中并保存為“FPSDemo.as”就行了。

結(jié)論
這是一個(gè)使用幀頻計(jì)數(shù)器函數(shù)的基本的例子。試試并將它用到你的項(xiàng)目中。

謝謝閱讀。

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享

    flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?

    本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?

    Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動(dòng)七彩色的文字?

    Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評論