|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash8支持一种新的编码格式(On2的VP6),这种编码格式与Flash7的视频编码格式相比,有了很大的提高。
poluoluo中心提醒:怎样在ActionScript3.0中创建一个帧频计数器.
在这个教程中,你将学会怎样丈量Flash中以后的帧频,并将其显现出来。
帧频的主要性
每帧上都是一幅运动的图片,疾速一连的帧会发生动画,每秒的帧数越多,展示的动画也就越流利。
测帧频能让我们检测动画的历程,假如必要的话还能够优化动画。
当在分歧的运转情况中测试动画时这个长短常有效的,比方扫瞄器中,电脑中,电视或手机中。
我们能够经由过程利用getTime()办法测帧频,并立即的在舞台中创立文本域来输入了局。
——————————————————————————–
第一步:创立新文档
翻开Flash并创立一个新Flash文档(ActionScript3).
——————————————————————————–
第二步:翻开举措画板
实行窗口>举措翻开举措面板。
——————————————————————————–
第三步:变量
我们将利用三个变量,以下所示:
varstartTime:Number;//用来盘算绝对工夫
varframesNumber:Number=0;//以后帧频数
varfps:TextField=newTextField();//展现实践帧频的文本域
——————————————————————————–
第四步:主函数
这是计数器的主函数:
functionfpsCounter():void
{
startTime=getTimer();//当动画入手下手时以毫秒为单元猎取工夫
addChild(fps);//向舞台增加文本域
addEventListener(Event.ENTER_FRAME,checkFPS);//增加逐帧监听器并实行checkFPS函数
}
——————————————————————————–
第五步:反省帧频
这个函数将盘算频帧:
functioncheckFPS(e:Event):void
{
varcurrentTime:Number=(getTimer()–startTime)/1000;//当函数实行的时分以秒为单元猎取工夫
framesNumber++;//计数器加1
if(currentTime>1)//判别以后工夫是不是比1年夜
{
fps.text=“FPS:”+(Math.floor((framesNumber/currentTime)*10.0)/10.0);//盘算频帧并在文本域展现
startTime=getTimer();//重设入手下手的工夫
framesNumber=0;//重设帧数
}
}
——————————————————————————–
第六步:挪用函数
用上面的一行代码启动主函数:
fpsCounter();
——————————————————————————–
第七步:全体的代码:
全体的代码是上面如许的:
varstartTime:Number;
varframesNumber:Number=0;
varfps:TextField=newTextField();
functionfpsCounter():void
{
startTime=getTimer();
addChild(fps);
addEventListener(Event.ENTER_FRAME,checkFPS);
}
functioncheckFPS(e:Event):void
{
varcurrentTime:Number=(getTimer()–startTime)/1000;
framesNumber++;
if(currentTime>1)
{
fps.text=“FPS:”+(Math.floor((framesNumber/currentTime)*10.0)/10.0);
startTime=getTimer();
framesNumber=0;
}
}
fpsCounter();
——————————————————————————–
第八步:文档类版
大概比起工夫轴代码你更习气用文档类。上面的部分辩了然怎样利用。
package
{
importflash.display.MovieClip;
importflash.text.TextField;
importflash.events.Event;
importflash.utils.getTimer;
publicclassFPSDemoextendsMovieClip
{
publicvarstartTime:Number;
publicvarframesNumber:Number=0;
publicvarfps:TextField=newTextField();
publicfunctionFPSDemo()
{
fpsCounter();
}
publicfunctionfpsCounter():void
{
startTime=getTimer();
addChild(fps);
addEventListener(Event.ENTER_FRAME,checkFPS);
}
publicfunctioncheckFPS(e:Event):void
{
varcurrentTime:Number=(getTimer()–startTime)/1000;
framesNumber++;
if(currentTime>1)
{
fps.text=“FPS:”+(Math.floor((framesNumber/currentTime)*10.0)/10.0);
startTime=getTimer();
framesNumber=0;
}
}
}
}
你使用这个类在恣意一个项目中嵌进一个如许的频帧计数器:
varfpsDemo:FPSDemo=newFPSDemo();
addChild(fpsDemo);
只需将它复制到一个新AS文件中并保留为“FPSDemo.as”就好了。
结论
这是一个利用帧频计数器函数的基础的例子。尝尝并将它用到你的项目中。
感谢浏览。
用flash动画制作软件制作的动画文件很小,这样便于在互联网上传输,而且它采用了流技术,只要下载一部分,就能欣赏动画,而且能一边播放一边传输送数据。 |
|