home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / Never_End.swf / scripts / game / FrameRate.as < prev    next >
Encoding:
Text File  |  2008-09-23  |  2.0 KB  |  82 lines

  1. package game
  2. {
  3.    import flash.display.Sprite;
  4.    import flash.events.Event;
  5.    import flash.utils.getTimer;
  6.    
  7.    public class FrameRate
  8.    {
  9.        
  10.       
  11.       private var frameCount:int;
  12.       
  13.       private var minFrameRate:int = 60;
  14.       
  15.       private var listenSpr:Sprite;
  16.       
  17.       private var tStartTime:Number;
  18.       
  19.       public function FrameRate(param1:Sprite)
  20.       {
  21.          minFrameRate = 60;
  22.          super();
  23.          if(param1 != null)
  24.          {
  25.             listenSpr = param1;
  26.             init();
  27.          }
  28.       }
  29.       
  30.       private function timerHandle(param1:Event) : void
  31.       {
  32.          var _loc2_:int = 0;
  33.          if(getTimer() - tStartTime >= 1000 / 2)
  34.          {
  35.             if(frameCount * 2 < minFrameRate - 3)
  36.             {
  37.                if(listenSpr.stage.frameRate <= 200)
  38.                {
  39.                   listenSpr.stage.frameRate += minFrameRate - 2 * frameCount;
  40.                }
  41.             }
  42.             else if(2 * frameCount > minFrameRate + 5)
  43.             {
  44.                _loc2_ = listenSpr.stage.frameRate + minFrameRate - 2 * frameCount;
  45.                if(_loc2_ < minFrameRate)
  46.                {
  47.                   listenSpr.stage.frameRate = minFrameRate;
  48.                }
  49.                else
  50.                {
  51.                   listenSpr.stage.frameRate = _loc2_;
  52.                }
  53.             }
  54.             tStartTime = getTimer();
  55.             frameCount = 0;
  56.          }
  57.          ++frameCount;
  58.       }
  59.       
  60.       private function init() : void
  61.       {
  62.          try
  63.          {
  64.             listenSpr.removeEventListener(Event.ENTER_FRAME,timerHandle);
  65.          }
  66.          catch(e:Error)
  67.          {
  68.          }
  69.          listenSpr.stage.frameRate = minFrameRate;
  70.          frameCount = 0;
  71.          tStartTime = getTimer();
  72.          listenSpr.addEventListener(Event.ENTER_FRAME,timerHandle);
  73.       }
  74.       
  75.       public function set cFrameRate(param1:int) : void
  76.       {
  77.          minFrameRate = param1;
  78.          init();
  79.       }
  80.    }
  81. }
  82.