轻松打造Flash帧速率测试器


来源:   

  Flash作品中预设的帧速率只是理想化的,而实际情况是,Flash处理程序或是渲染图像时需要消耗一定的时间,所以动画运行时每一帧的帧速率基本上是不一样的。在一帧中放置过多的符号,该帧的帧速率就会远远低于预设的帧速率,导致画面播放不流畅,或是掉帧的情况。如果使用帧速率测试器来检测您的动画,则可发现上述问题。因为帧速率测试器工作时会显示出影片当前的平均帧速率。总之,无论是设计游戏还是制作大型动画,速度慢、运行不稳定的作品是不会有吸引力的,谁也无法去忍受一个只有4帧/秒的动画。(本例源文件请点击这里下载)

  效果预览:



  图1

  设计要点:

  首先测试器本身要尽量的简单,否则会影响测试效果。测试器中主要就是一个用来输出测试结果的动态文本和一个重置按钮。使用重置按钮是为得到一个经过准确计算的帧速率,其工作方式就是刷新测试器。测试器测试本身时,显示的帧速率应该和预设值是一样的。

  设计步骤:

  1.打开Flash MX,设置场景大小为350px×100px,背景色为“#0E6A99”(其实,场景的设置是无关紧要的)。按快捷键“Ctrl+F8”新建一个名为“fps”的影片剪辑符号。

  2.在符号“fps”的场景里点击选中工具面板中的文本工具,然后创建一个静态文本,输入“帧速率:”几个字,如图1所示。接着再创建一个动态文本框,点选中该动态文本框,在其属性面板里进行如图2所示的设置。最关键的设置是一定要定义变量“out”。



  图2

  3.按快捷键“Ctrl+F8”新建一个名为“button”的按钮符号(按钮的设计要尽量简单)。在按钮上输入“重置”两个字,如图1所示。

  4.右键点击按钮,点选弹出菜单中的“动作”命令,在“动作”面板中输入如下代码:

//release事件是在鼠标指针经过按钮时释放鼠标按钮

on(release){

//变量frame的作用是纪录当前帧数

frame = 0;

//函数getTimer()可以返回影片已经播放的时间,单位为毫秒

n = getTimer();

}

  5.回到主场景中。按快捷键“Ctrl+L”打开库,把库中的影片剪辑符号“fps”拖拽到主场景中。

  6.右键点击影片剪辑“fps”,点选弹出菜单中的“动作”命令,并在“动作”面板中输入如下代码:

//onClipEvent是一个“事件”触发器。当某个事件发生时,就执行花括号中的语句。

//load事件是当影片剪辑被载入时,即执行语句。

onClipEvent (load) {

frame = 1;

n = 0;

}

//enterFrame事件是以影片每执行一帧就执行一次语句

onClipEvent (enterFrame) {

//变量time用来纪录

time = (getTimer( )- n)/1000;

//Math对象的ceil方法可以返回大于等于括号中数值并与其最接近的整数

//当前帧数frame除以播放时间time即可得到当前的帧速率

out = Math.ceil(frame/time);

//变量frame(帧数)进行累加

frame++;

}

  到这里,这个帧速率测试器就设计好了。现在只要把它直接复制并粘贴到所要测试的动画中就可以使用了。注意,使用测试器时,最好先在被测试动画的场景中新建一层,然后再把测试器复制、粘贴到该层中,这样便于调整测试器的位置以及修改和清除。

编辑:

相关内容

 娱乐专题

more...

高峰私生子

王伯昭被打

傅彪肝癌晚期

赵薇餐馆打人事件

《云南映象》图集

张铁林拖欠中介费

女医生状告赵忠祥

高虎被捕事件

演绎经典美丽

解读《十面埋伏》

揭示明星美丽秘诀

五颜六色娱乐圈

明星纤体大比拼

《绿茶》精彩影评

天地英雄

吕丽萍群星艺术学校被起诉

于娜出道前被包养是真是假?

香港英皇贪污丑闻追踪

多少明星追忆中

2003环球小姐大赛

 

 叨叨专栏

more...

冯小刚,你怎么敢抽"上帝"?

流氓与流氓

娱乐媒体,请站直一点

原来张铁林不是中国人!

《神雕侠侣》的悲惨前途

男人,要硬派不要阴柔

请不要随便脱裤子

李欣,《自娱自乐》的挺滋儿!

不服没用,人家就是红了!

陆毅演戏吧,别唱歌了。

 

 

 
报业集团
- 版权声明 - 广告业务 - 联系方式
Copyright (C) 2001-2002 dzwww.com. All Rights Reserved
大众报业集团网络中心主办
Email:webmaster@mail.dzdaily.com.cn