//显示帧速的类 /* usage: import fb.fps.FPS var t=new FPS() this.addChild(t) */ package fb.fps { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class FPS extends Sprite { var numFrames:Number = 0; var interval:Number = 10 var startTime:Number; var fpsText; function FPS() { startTime = getTimer(); // 文本实例的样式 my_fmt = new TextFormat(); my_fmt.bold = true; my_fmt.font = "Arial"; my_fmt.size = 12; my_fmt.color = 0xFF0000; fpsText = new TextField(); fpsText.autoSize = "left"; fpsText.text = "loading"; addChild(fpsText); fpsText.defaultTextFormat = my_fmt; fpsText.selectable = false this.addEventListener(Event.ADDED, onAdded); } function onAdded(event:Event) { this.stage.addEventListener(Event.ENTER_FRAME, update, false, 0); } function update(event:Event) { if (++numFrames == interval) { var now:Number = getTimer(); var elapsedSeconds:Number = (now - startTime) / 1000; var actualFPS:Number = numFrames / elapsedSeconds; fpsText.text = (actualFPS.toFixed(2)); startTime = now; numFrames = 0; } } } }