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

📄 tween.as

📁 flash as编程的库和源代码
💻 AS
字号:
package de.alex_uhlmann.animationpackage.utility {/*** Base class for time based and frame based tween engines. 	*/public dynamic class Tween {			public var listener:Object;	//startValue and endValue need to support Number and Array values.	public var startValue:Object;	public var endValue:Object;	public var duration:Number = 1000;	public var easingEquation:Function;	public var updateMethod:String;	public var endMethod:String;	public var arrayMode:Boolean = false;	public var id:Number;	public var easingParams:Array;	public var lastVal:Number;	public var startTime:Number;	public var isTweening:Boolean;	public var isPaused:Boolean;	protected var startPause:Number;			public function Tween(listener:Object, 						startValue:Object, endValue:Object, duration:Number, 						easingParams:Array) {							if(listener == null ) {			return;		}		if (!(startValue is Number)) {			arrayMode = true;		}		this.listener = listener;				this.startValue = startValue;		this.endValue = endValue;		if(!isNaN(duration)) {			this.duration = duration;		}		this.easingParams = easingParams;		this.isTweening = false;		this.isPaused = false;	}		public function getCurVal(curTime:Number):Object {		if (arrayMode) {			var returnArray:Array = new Array();			var i:Number;			var len:Number = startValue.length;			for (i = 0; i < len; i++) {				returnArray[i] = easingEquation(curTime, 												startValue[i], 												endValue[i] - startValue[i], 												duration);			}			return returnArray;		}		else {			return easingEquation(curTime, 								  startValue, 								  Number(endValue) - Number(startValue), 								  duration);				}	}				public function getCurVal2(curTime:Number):Object {		if (arrayMode) {			var returnArray:Array = new Array();			var i:Number;			var len:Number = startValue.length;			for (i = 0; i < len; i++) {					returnArray[i] = easingEquation.apply(null, [curTime, 															 startValue[i], 															 endValue[i] - startValue[i], 															 duration].concat(this.easingParams));			}			return returnArray;		}		else {						return easingEquation.apply(null, [curTime, 											   startValue, 											   Number(endValue) - Number(startValue), 											   duration].concat(this.easingParams));		}	}		public function setTweenHandlers(update:String, endValue:String):void {		updateMethod = update;		endMethod = endValue;	}		//defaults to sin	public function defaultEasingEquation(t:Number, b:Number, c:Number, d:Number):Number {		return c/2 * ( Math.sin( Math.PI * (t/d-0.5) ) + 1 ) + b;	}		protected function endTween(v:Object):void {		if (endMethod != null) {			listener[endMethod](v);		} else {			listener.onTweenEnd(v);		}			}}}

⌨️ 快捷键说明

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