📄 fpscpn.as
字号:
package org.kingda.book.display
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.utils.*;
import mx.flash.UIMovieClip; //一定要在类路径中设置mx.flash.UIMovieClip所在路径或SWC文件
import flash.geom.Point;
import flash.events.TimerEvent;
public class FPScpn extends UIMovieClip
{
private var _bgmc:Sprite;
private var _txt:TextField;
private var _lastTime:Number;
private var _framerate:Number;
private var _timer:Timer;
private var _frameNow:int;
private var _frameLatest:int;
private var _interval:Number = 0.5;
public function FPScpn() {
super();
initView();
}
private function initView():void {
_lastTime = -1;
_txt = new TextField();
_txt.x = 10, _txt.y = 0;
_txt.width = 100;
_txt.autoSize = "left";
addChild(_txt);
_bgmc = new Sprite();
_bgmc.graphics.lineStyle(2, 0xff6600);
_bgmc.graphics.beginFill(0xffcc00, 0.5);
_bgmc.graphics.drawRoundRect(0,0, 100, _txt.height + 20, 4,4);
_bgmc.graphics.endFill();
addChild(_bgmc);
_frameNow = 0;
_frameLatest = 0;
_timer = new Timer(_interval*1000);
this.addEventListener(Event.ENTER_FRAME, addFrame);
_timer.addEventListener(TimerEvent.TIMER, changeView);
_timer.start();
trace ("start");
}
public function setInterval(nN:Number):void {
_interval = nN;
_timer.delay = _interval*1000;
}
private function addFrame(evt:Event):void {
_frameNow ++;
}
private function changeView(evt:TimerEvent):void {
trace ("ok");
_framerate = (_frameNow - _frameLatest)/_interval;
_txt.text = _framerate.toPrecision(5);
_frameLatest = _frameNow;
/*
if(_lastTime == -1){
_lastTime = getTimer();
return;
}
var crtTime:Number = getTimer();
_framerate = 1000/(crtTime - _lastTime);
_txt.text = _framerate.toPrecision(5);
_lastTime = crtTime;
*/
}
}
}
/* 如何在Flash CS3使用本组件?下面是一小段AS3代码块。
import org.kingda.book.display.*;
var fps:FPScpn = new FPScpn();
fps.setInterval(3); //设定每三秒计算一次帧频
addChild(fps);
*
如何在MXML中使用?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:kingda="org.kingda.book.display.*" layout="absolute">
<kingda:FPScpn x="200" y="200"/>
</mx:Application>
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -