home *** CD-ROM | disk | FTP | other *** search
/ Ice Age Fan CD 1 / CD1_Scrat.iso / flash / data / game.swf / scripts / asCode / Stats.as < prev    next >
Encoding:
Text File  |  2012-07-04  |  3.3 KB  |  108 lines

  1. package asCode
  2. {
  3.    import flash.display.Bitmap;
  4.    import flash.display.BitmapData;
  5.    import flash.display.Sprite;
  6.    import flash.events.Event;
  7.    import flash.events.MouseEvent;
  8.    import flash.geom.Rectangle;
  9.    import flash.system.System;
  10.    import flash.text.TextField;
  11.    import flash.text.TextFormat;
  12.    import flash.utils.getTimer;
  13.    
  14.    public class Stats extends Sprite
  15.    {
  16.       private var graph:BitmapData;
  17.       
  18.       private var fpsText:TextField;
  19.       
  20.       private var msText:TextField;
  21.       
  22.       private var memText:TextField;
  23.       
  24.       private var format:TextFormat;
  25.       
  26.       private var fps:int;
  27.       
  28.       private var timer:int;
  29.       
  30.       private var ms:int;
  31.       
  32.       private var msPrev:int = 0;
  33.       
  34.       private var mem:Number = 0;
  35.       
  36.       public function Stats()
  37.       {
  38.          super();
  39.          graph = new BitmapData(60,50,false,819);
  40.          var _loc1_:Bitmap = new Bitmap(graph);
  41.          _loc1_.y = 35;
  42.          addChild(_loc1_);
  43.          format = new TextFormat("_sans",9);
  44.          graphics.beginFill(819);
  45.          graphics.drawRect(0,0,60,50);
  46.          graphics.endFill();
  47.          fpsText = new TextField();
  48.          msText = new TextField();
  49.          memText = new TextField();
  50.          fpsText.defaultTextFormat = msText.defaultTextFormat = memText.defaultTextFormat = format;
  51.          fpsText.width = msText.width = memText.width = 60;
  52.          fpsText.selectable = msText.selectable = memText.selectable = false;
  53.          fpsText.textColor = 16776960;
  54.          fpsText.text = "FPS: ";
  55.          addChild(fpsText);
  56.          msText.y = 10;
  57.          msText.textColor = 65280;
  58.          msText.text = "MS: ";
  59.          addChild(msText);
  60.          memText.y = 20;
  61.          memText.textColor = 65535;
  62.          memText.text = "MEM: ";
  63.          addChild(memText);
  64.          addEventListener(MouseEvent.CLICK,mouseHandler);
  65.          addEventListener(Event.ENTER_FRAME,update);
  66.       }
  67.       
  68.       private function mouseHandler(param1:MouseEvent) : void
  69.       {
  70.          if(this.mouseY > this.height * 0.35)
  71.          {
  72.             --stage.frameRate;
  73.          }
  74.          else
  75.          {
  76.             ++stage.frameRate;
  77.          }
  78.          fpsText.text = "FPS: " + fps + " / " + stage.frameRate;
  79.       }
  80.       
  81.       private function update(param1:Event) : void
  82.       {
  83.          var _loc2_:int = 0;
  84.          var _loc3_:Number = NaN;
  85.          timer = getTimer();
  86.          ++fps;
  87.          if(timer - 1000 > msPrev)
  88.          {
  89.             msPrev = timer;
  90.             mem = Number((System.totalMemory / 1048576).toFixed(3));
  91.             _loc2_ = Math.min(50,50 / stage.frameRate * fps);
  92.             _loc3_ = Math.min(50,Math.sqrt(Math.sqrt(mem * 5000))) - 2;
  93.             graph.scroll(1,0);
  94.             graph.fillRect(new Rectangle(0,0,1,graph.height),819);
  95.             graph.setPixel(0,graph.height - _loc2_,16776960);
  96.             graph.setPixel(0,graph.height - (timer - ms >> 1),65280);
  97.             graph.setPixel(0,graph.height - _loc3_,65535);
  98.             fpsText.text = "FPS: " + fps + " / " + stage.frameRate;
  99.             memText.text = "MEM: " + mem;
  100.             fps = 0;
  101.          }
  102.          msText.text = "MS: " + (timer - ms);
  103.          ms = timer;
  104.       }
  105.    }
  106. }
  107.  
  108.