//在任意一个项目中嵌入一个这样的频帧计数器: //var fpsDemo:FPSDemo = new FPSDemo(); //addChild( fpsDemo ); package { import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFormat; import flash.events.Event; import flash.utils.getTimer; public class FPSDemo extends MovieClip { //用来计算相对时间 private var startTime:Number; //当前帧频数 private var framesNumber:Number = 0; //展示实际帧频的文本域 private var fps:TextField = new TextField(); var textFormat:TextFormat = new TextFormat(); public function FPSDemo() { fpsCounter(); } //这是计数器的主函数: private function fpsCounter():void { //当动画开始时以毫秒为单位获取时间 startTime = getTimer(); // 向舞台添加文本域 textFormat.size = 18; fps.defaultTextFormat=textFormat; addChild(fps); //添加逐帧监听器并执行checkFPS函数 addEventListener(Event.ENTER_FRAME, checkFPS); } //这个函数将计算频帧: private function checkFPS(e:Event):void { //当函数执行的时候以秒为单位获取时间 var currentTime:Number = (getTimer()-startTime)/1000; //计数器加1 framesNumber++; //判断当前时间是否比1大 if (currentTime > 1) { trace(currentTime) //计算频帧并在文本域展示【乘以10再除以10是为了精确到小数点后一位】 fps.text = "FPS:" + (Math.floor((framesNumber/currentTime)*10)/10)+" MEMORY:"+uint(System.totalMemory/1024/1024)+"M"; //重设开始的时间 startTime = getTimer(); //重设帧数 framesNumber = 0; } } } }