建立在Actionscript3.0帧速率计数器的方法
点评:在本教程中,您将学习如何在Flash中的当前帧频率测量和显示。帧频的重要性
每帧都是静止的画面,快速连续的帧每秒会产生更多的帧数,动画、动画的显示都是流畅的。
帧频率测量允许我们检测动画的过程,动画可以根据需要进行优化。
当在不同的运行环境中测试动画时,这非常有用,例如在浏览器中、在计算机中、在电视上或在移动电话中。
我们可以利用时间的输出结果()方法测量帧频率和在舞台上创建一个文本字段。
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第一步:创建一个新文档
打开闪光灯,创建一个新的Flash文档(Actionscript 3)。
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第二步:打开电影板
执行窗口>操作打开操作面板。
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第三步:变量
我们将使用三个变量,如下所示:
VaR的开始时间:数; / /用来计算相对时间
无功framesnumber:数量= 0; / /当前帧号
VaR的FPS:TextField =新(文本); / /实际帧频显示文本字段
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第四步:主要功能
这是柜台的主要功能:
功能fpscounter():无效
{
开始时间=(getTimer); / /动画开始时以毫秒为单位的时间
addChild(FPS); / /添加一个文本字段的阶段
AddEventListener(event.enter_frame,checkfps); / /添加帧监控和执行checkfps功能
}
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第五步:检查帧频率
这个函数将计算频率帧:
功能checkfps(E:事件):无效
{
var =当前时间:数(getTimer)(ndash;StartTime) / / / 1000;当函数执行时间秒
framesnumber + +; / /计数器加1
如果(当前时间> 1) / /判断当前时间大于1
{
fps.text = FPS:(math.floor +((framesnumber /时间)×10)/ 10); / /计算文本框中显示的频率域
开始时间=(getTimer); / /复位启动时间
framesnumber = 0; / /复位。
}
}
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第六步:调用函数
使用以下代码行启动主函数:
FpsCounter();
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第七步:所有代码:
整个代码如下所示:
VaR的开始时间:数;
无功framesnumber:数量= 0;
VaR的FPS:TextField =新的文本框();
功能fpscounter():无效
{
StartTime = getTimer();
addChild(FPS);
AddEventListener(event.enter_frame,checkfps);
}
功能checkfps(E:事件):无效
{
VAR时间:数量=(getTimer()ndash;开始时间)/ 1000;
framesnumber + +;
如果(当前时间> 1)
{
fps.text = FPS:+(Math.floor(((framesnumber /时间)×10)/ 10);
StartTime = getTimer();
framesnumber = 0;
}
}
FpsCounter();
Mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ;; ; ;; ;
第八步:文档类
您可能更习惯于使用文档类而不是时间轴代码。
包裹
{
进口flash.display.movieclip;
进口flash.text.textfield;
进口flash.events.event;
进口flash.utils.gettimer;
fpsdemo扩展MovieClip类
{
公共变量开始时间:数;
公共变量framesnumber:数量= 0;
公共变量FPS:TextField =新的文本框();
公共函数FPSDemo()
{
FpsCounter();
}
公共功能fpscounter():无效
{
StartTime = getTimer();
addChild(FPS);
AddEventListener(event.enter_frame,checkfps);
}
公共功能checkfps(E:事件):无效
{
VAR时间:数量=(getTimer()ndash;开始时间)/ 1000;
framesnumber + +;
如果(当前时间> 1)
{
fps.text = FPS:+(Math.floor(((framesnumber /时间)×10)/ 10);
StartTime = getTimer();
framesnumber = 0;
}
}
}
}
您可以使用这个类在任何项目中嵌入这样的频率帧计数器。
无功fpsdemo:fpsdemo =新fpsdemo();
addChild(fpsdemo);
只是将它复制到一个新的文件并将其保存为FPSDemo.as它的所有权利。
结论
这是使用帧频率计数器函数的一个基本示例。请尝试在您的项目中使用它。
谢谢你的阅读。