package com.ultizen.hmlt.utils
{
import com.ultizen.hmltMiniGame.crystal.greensock.plugins.VolumePlugin;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.Timer;
import flash.utils.getTimer;
/**
*
* @author jiading
*
*/
public class FPS extends Sprite
{
//--------------------------------------------------------------------------
// Static
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Constructor
//--------------------------------------------------------------------------
public function FPS()
{
addEventListener(Event.ADDED_TO_STAGE,addToStagaHandler);
}
//--------------------------------------------------------------------------
// Variables
//--------------------------------------------------------------------------
private var text : TextField;
//--------------------------------------------------------------------------
// Properties
//--------------------------------------------------------------------------
private var crtTime : uint;
private var prevTime : uint;
private var fps : uint;
private var isWorking : Boolean;
private var str : String;
//--------------------------------------------------------------------------
// Public Methods
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Event Handler
//--------------------------------------------------------------------------
private function addToStagaHandler(event : Event):void
{
removeEventListener(Event.ADDED_TO_STAGE,addToStagaHandler);
isWorking = false;
initBg();
initText();
this.buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
}
private function mouseDownHandler(event : MouseEvent):void
{
if(!isWorking)
{
isWorking = true;
startWork();
}
else
{
isWorking = false;
stopWork();
}
}
private function efHandler(event : Event):void
{
crtTime = getTimer();
if(crtTime - 1000 > prevTime)
{
prevTime = crtTime;
text.text = "FPS: "+ fps.toString();
fps = 0;
}
fps++;
}
//--------------------------------------------------------------------------
// Protected
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Privates
//--------------------------------------------------------------------------
private function initBg():void
{
this.graphics.beginFill(0x000000);
this.graphics.drawRect(0,0,50,20);
this.graphics.endFill();
}
private function initText():void
{
text = new TextField();
text.width = 70;
text.height = 20;
text.selectable = false;
text.mouseEnabled = false;
text.textColor = 0xff0000;
text.text = "show fps";
addChild(text);
}
private function startWork():void
{
addEventListener(Event.ENTER_FRAME,efHandler);
}
private function stopWork():void
{
removeEventListener(Event.ENTER_FRAME,efHandler);
text.text = "show fps";
}
//--------------------------------------------------------------------------
// Dispose
//--------------------------------------------------------------------------
}
}
转载于:https://www.cnblogs.com/JD85/archive/2011/11/20/1987120.html