home *** CD-ROM | disk | FTP | other *** search
- package asCode
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.geom.Rectangle;
- import flash.system.System;
- import flash.text.TextField;
- import flash.text.TextFormat;
- import flash.utils.getTimer;
-
- public class Stats extends Sprite
- {
- private var graph:BitmapData;
-
- private var fpsText:TextField;
-
- private var msText:TextField;
-
- private var memText:TextField;
-
- private var format:TextFormat;
-
- private var fps:int;
-
- private var timer:int;
-
- private var ms:int;
-
- private var msPrev:int = 0;
-
- private var mem:Number = 0;
-
- public function Stats()
- {
- super();
- graph = new BitmapData(60,50,false,819);
- var _loc1_:Bitmap = new Bitmap(graph);
- _loc1_.y = 35;
- addChild(_loc1_);
- format = new TextFormat("_sans",9);
- graphics.beginFill(819);
- graphics.drawRect(0,0,60,50);
- graphics.endFill();
- fpsText = new TextField();
- msText = new TextField();
- memText = new TextField();
- fpsText.defaultTextFormat = msText.defaultTextFormat = memText.defaultTextFormat = format;
- fpsText.width = msText.width = memText.width = 60;
- fpsText.selectable = msText.selectable = memText.selectable = false;
- fpsText.textColor = 16776960;
- fpsText.text = "FPS: ";
- addChild(fpsText);
- msText.y = 10;
- msText.textColor = 65280;
- msText.text = "MS: ";
- addChild(msText);
- memText.y = 20;
- memText.textColor = 65535;
- memText.text = "MEM: ";
- addChild(memText);
- addEventListener(MouseEvent.CLICK,mouseHandler);
- addEventListener(Event.ENTER_FRAME,update);
- }
-
- private function mouseHandler(param1:MouseEvent) : void
- {
- if(this.mouseY > this.height * 0.35)
- {
- --stage.frameRate;
- }
- else
- {
- ++stage.frameRate;
- }
- fpsText.text = "FPS: " + fps + " / " + stage.frameRate;
- }
-
- private function update(param1:Event) : void
- {
- var _loc2_:int = 0;
- var _loc3_:Number = NaN;
- timer = getTimer();
- ++fps;
- if(timer - 1000 > msPrev)
- {
- msPrev = timer;
- mem = Number((System.totalMemory / 1048576).toFixed(3));
- _loc2_ = Math.min(50,50 / stage.frameRate * fps);
- _loc3_ = Math.min(50,Math.sqrt(Math.sqrt(mem * 5000))) - 2;
- graph.scroll(1,0);
- graph.fillRect(new Rectangle(0,0,1,graph.height),819);
- graph.setPixel(0,graph.height - _loc2_,16776960);
- graph.setPixel(0,graph.height - (timer - ms >> 1),65280);
- graph.setPixel(0,graph.height - _loc3_,65535);
- fpsText.text = "FPS: " + fps + " / " + stage.frameRate;
- memText.text = "MEM: " + mem;
- fps = 0;
- }
- msText.text = "MS: " + (timer - ms);
- ms = timer;
- }
- }
- }
-
-