home *** CD-ROM | disk | FTP | other *** search
- package game
- {
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.utils.getTimer;
-
- public class FrameRate
- {
-
-
- private var frameCount:int;
-
- private var minFrameRate:int = 60;
-
- private var listenSpr:Sprite;
-
- private var tStartTime:Number;
-
- public function FrameRate(param1:Sprite)
- {
- minFrameRate = 60;
- super();
- if(param1 != null)
- {
- listenSpr = param1;
- init();
- }
- }
-
- private function timerHandle(param1:Event) : void
- {
- var _loc2_:int = 0;
- if(getTimer() - tStartTime >= 1000 / 2)
- {
- if(frameCount * 2 < minFrameRate - 3)
- {
- if(listenSpr.stage.frameRate <= 200)
- {
- listenSpr.stage.frameRate += minFrameRate - 2 * frameCount;
- }
- }
- else if(2 * frameCount > minFrameRate + 5)
- {
- _loc2_ = listenSpr.stage.frameRate + minFrameRate - 2 * frameCount;
- if(_loc2_ < minFrameRate)
- {
- listenSpr.stage.frameRate = minFrameRate;
- }
- else
- {
- listenSpr.stage.frameRate = _loc2_;
- }
- }
- tStartTime = getTimer();
- frameCount = 0;
- }
- ++frameCount;
- }
-
- private function init() : void
- {
- try
- {
- listenSpr.removeEventListener(Event.ENTER_FRAME,timerHandle);
- }
- catch(e:Error)
- {
- }
- listenSpr.stage.frameRate = minFrameRate;
- frameCount = 0;
- tStartTime = getTimer();
- listenSpr.addEventListener(Event.ENTER_FRAME,timerHandle);
- }
-
- public function set cFrameRate(param1:int) : void
- {
- minFrameRate = param1;
- init();
- }
- }
- }
-