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

📄 tooltip.as

📁 一套三层结构的文件管理OA系统源码
💻 AS
字号:
class Tooltip {
	// CLASS PROPERTIES
	private var $borderC:Number;
	private var $toolTipW:Number;
	private var $toolTipH:Number;
	private var $baseDist:Number;
	private var $tColor:Number;
	private var $txtColor:Number;
	private var $tipText:String;
	private var $tTxtSize:Number;
	private var $tTxtFont:String;
	private var $tTxtAlign:String;
	private var $tTxtLeading:Number;
	private var $timer:Object;
	private var $dTime:Number;
	private var $sTime:Number;
	// CONSTRUCTOR +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	function Tooltip(newText:String, tColor:Number, txtColor:Number) {
		this.tipText = newText;
		this.tipBackgroundColor = tColor;
		this.tipTextColor = txtColor;
		// non parametrised
		this.baseDistance = 23;
		this.toolTipWidth = 10;
		this.tipBorderColor = 0x000000;
		this.tipTextSize = 10;
		this.tipTextFont = "_sans";
		this.tipTextAlign = "left";
		this.tipTextLeading = 3;
		// seconds, NOT milliseconds
		this.tipDelayTime = 0.5;
		// seconds, NOT milliseconds
		this.tipShowTime = 3;
	}
	// METHODS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	// function that after a timeout of .5 seconds, draws the tooltip by calling doDraw();
	public function drawTip() {
		this.$timer = new Object();
		$timer.displayTipDelay = setInterval(this, "doDraw", tipDelayTime);
	}
	// function to remove the tip --------------------------------------------------------------
	public function removeTip() {
		if ($timer.tipDisplayTime) {
			clearTimer($timer.tipDisplayTime);
		}
		if ($timer.displayTipDelay) {
			clearTimer($timer.displayTipDelay);
		}
		if (_root.tooltipHolder != undefined) {
			removeMovieClip("tooltipHolder");
		}
		delete this.$timer;
	}
	// parametrised function to clear any interval ---------------------------------------------
	private function clearTimer(whatTimer) {
		clearInterval(whatTimer);
	}
	// drawing the tooltip ---------------------------------------------------------------------
	private function doDraw() {
		// clear the timer that delayed the tooltip display ------------------------------------
		clearTimer($timer.displayTipDelay);
		// start the timer that determines the time that the tooltip will be displayed ---------
		$timer.tipDisplayTime = setInterval(this, "removeTip", tipShowTime);
		// tooltip holder ----------------------------------------------------------------------
		_root.createEmptyMovieClip("tooltipHolder", 10000);
		// new textformat ----------------------------------------------------------------------
		var $tipFormat = new TextFormat();
		$tipFormat.color = tipTextColor;
		$tipFormat.font = tipTextFont;
		$tipFormat.size = tipTextSize;
		$tipFormat.leading = tipTextLeading;
		$tipFormat.align = tipTextAlign;
		// create textfield inside tooltipHolder -----------------------------------------------
		_root.tooltipHolder.createTextField("tipField", 5, 0, 0, 0, 0);
		_root.tooltipHolder["tipField"].border = false;
		_root.tooltipHolder["tipField"].selectable = false;
		_root.tooltipHolder["tipField"].embedFonts = false;
		_root.tooltipHolder["tipField"].wordWrap = false;
		_root.tooltipHolder["tipField"].type = "dynamic";
		_root.tooltipHolder["tipField"].text = $tipText;
		_root.tooltipHolder["tipField"].autoSize = "left";
		_root.tooltipHolder["tipField"].setTextFormat($tipFormat);
		// tooltip shape movieclip inside tooltipHolder ----------------------------------------
		_root.tooltipHolder.createEmptyMovieClip("shape", 2);
		// draw tooltip background -------------------------------------------------------------
		toolTipWidth = _root.tooltipHolder["tipField"].width;
		toolTipHeight = _root.tooltipHolder["tipField"].height-4;
		with (_root.tooltipHolder.shape) {
			beginFill(this.tipBackgroundColor, 100);
			moveTo(0, 0);
			lineTo(this.toolTipWidth, 0);
			lineTo(this.toolTipWidth, this.toolTipHeight);
			lineTo(this.baseDistance, this.toolTipHeight);
			lineTo(0, this.toolTipHeight);
			lineTo(0, 0);
			endFill();
		}
		// draw tooltip outline inside tooltipHolder -------------------------------------------
		_root.tooltipHolder.createEmptyMovieClip("shapeborder", 3);
		with (_root.tooltipHolder.shapeborder) {
			lineStyle(1, this.tipBorderColor, 100);
			moveTo(0, 0);
			lineTo(this.toolTipWidth, 0);
			lineTo(this.toolTipWidth, this.toolTipHeight);
			lineTo(this.baseDistance, this.toolTipHeight);
			lineTo(0, this.toolTipHeight);
			lineTo(0, 0);
		}
		// create dropshadow by duplicating 'shape' inside tooltipHolder -----------------------
		_root.tooltipHolder.shape.duplicateMovieClip("shadow_mc", 1);
		_root.tooltipHolder.shadow_mc._x = _root.tooltipHolder.shape._x+3;
		_root.tooltipHolder.shadow_mc._y = _root.tooltipHolder.shape._y+3;
		_root.tooltipHolder.shadow_mc._alpha = 20;
		var shadow_mc = new Color(_root.tooltipHolder.shadow_mc);
		shadow_mc.setRGB(0x000000);
		// position tooltip at mouse pointer ---------------------------------------------------
		_root.tooltipHolder._x = _root._xmouse;
		_root.tooltipHolder._y = _root._ymouse+baseDistance;
	}
	// SETTERS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	public function set tipBackgroundColor(tColor:Number):Void {
		if (tColor == undefined) {
			this.$tColor = 0xFFFFE1;
		} else {
			this.$tColor = tColor;
		}
	}
	public function set tipTextColor(txtColor:Number):Void {
		if (txtColor == undefined) {
			this.$txtColor = 0x00000;
		} else {
			this.$txtColor = txtColor;
		}
	}
	public function set tipText(newText:String):Void {
		this.$tipText = newText;
	}
	public function set baseDistance(baseDist:Number):Void {
		this.$baseDist = baseDist;
	}
	public function set toolTipHeight(toolTipH:Number):Void {
		this.$toolTipH = toolTipH;
	}
	public function set toolTipWidth(toolTipW:Number):Void {
		this.$toolTipW = toolTipW;
	}
	public function set tipBorderColor(borderC:Number):Void {
		this.$borderC = borderC;
	}
	public function set tipTextSize(tTxtSize:Number):Void {
		this.$tTxtSize = tTxtSize;
	}
	public function set tipTextFont(tTxtFont:String):Void {
		this.$tTxtFont = tTxtFont;
	}
	public function set tipTextAlign(tTxtAlign:String):Void {
		this.$tTxtAlign = tTxtAlign;
	}
	public function set tipTextLeading(tTxtLeading:Number):Void {
		this.$tTxtLeading = tTxtLeading;
	}
	public function set tipDelayTime(dTime:Number):Void {
		this.$dTime = dTime*1000;
	}
	public function set tipShowTime(sTime:Number):Void {
		this.$sTime = sTime*1000;
	}
	// GETTERS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	public function get tipBackgroundColor():Number {
		return $tColor;
	}
	public function get tipTextColor():Number {
		return $txtColor;
	}
	public function get baseDistance():Number {
		return $baseDist;
	}
	public function get toolTipHeight():Number {
		return $toolTipH;
	}
	public function get toolTipWidth():Number {
		return $toolTipW;
	}
	public function get tipBorderColor():Number {
		return $borderC;
	}
	public function get tipTextSize():Number {
		return $tTxtSize;
	}
	public function get tipTextFont():String {
		return $tTxtFont;
	}
	public function get tipTextAlign():String {
		return $tTxtAlign;
	}
	public function get tipTextLeading():Number {
		return $tTxtLeading;
	}
	public function get tipDelayTime():Number {
		return $dTime;
	}
	public function get tipShowTime():Number {
		return $sTime;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -