⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpscpn.as

📁 《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0
💻 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 + -