亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tweener.as

?? FLASH+java動(dòng)態(tài)圖表
?? AS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
						for (pName in tTweening.properties) {
							tProperty = tTweening.properties[pName];

							if (isOver) {
								// Tweening time has finished, just set it to the final value
								nv = tProperty.valueComplete;
							} else {
								if (tProperty.hasModifier) {
									// Modified
									t = _currentTime - tTweening.timeStart;
									d = tTweening.timeComplete - tTweening.timeStart;
									nv = tTweening.transition(t, 0, 1, d);
									nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters);
								} else {
									// Normal update
									t = _currentTime - tTweening.timeStart;
									b = tProperty.valueStart;
									c = tProperty.valueComplete - tProperty.valueStart;
									d = tTweening.timeComplete - tTweening.timeStart;
									nv = tTweening.transition(t, b, c, d);
								}
							}

							if (tTweening.rounded) nv = Math.round(nv);
							setPropertyValue(tScope, pName, nv);
						}

						tTweening.updatesSkipped = 0;

						if (Boolean(tTweening.onUpdate)) {
							try {
								tTweening.onUpdate.apply(tScope, tTweening.onUpdateParams);
							} catch(e:Error) {
								handleError(tTweening, e, "onUpdate");
							}
						}
					} else {
						tTweening.updatesSkipped++;
					}
				}
	
				if (isOver && Boolean(tTweening.onComplete)) {
					try {
						tTweening.onComplete.apply(tScope, tTweening.onCompleteParams);
					} catch(e:Error) {
						handleError(tTweening, e, "onComplete");
					}
				}

				return (!isOver);
			}
	
			// On delay, hasn't started, so returns true
			return (true);
	
		}
	
		/**
		 * Initiates the Tweener--should only be ran once.
		 */
		public static function init(p_object:* = null):void {
			_inited = true;

			// Registers all default equations
			_transitionList = new Object();
			Equations.init();

			// Registers all default special properties
			_specialPropertyList = new Object();
			_specialPropertyModifierList = new Object();
			_specialPropertySplitterList = new Object();
			SpecialPropertiesDefault.init();
		}
	
		/**
		 * Adds a new function to the available transition list "shortcuts".
		 *
		 * @param		p_name				String		Shorthand transition name
		 * @param		p_function			Function	The proper equation function
		 */
		public static function registerTransition(p_name:String, p_function:Function): void {
			if (!_inited) init();
			_transitionList[p_name] = p_function;
		}
	
		/**
		 * Adds a new special property to the available special property list.
		 *
		 * @param		p_name				Name of the "special" property.
		 * @param		p_getFunction		Function that gets the value.
		 * @param		p_setFunction		Function that sets the value.
		 */
		public static function registerSpecialProperty(p_name:String, p_getFunction:Function, p_setFunction:Function, p_parameters:Array = null): void {
			if (!_inited) init();
			var sp:SpecialProperty = new SpecialProperty(p_getFunction, p_setFunction, p_parameters);
			_specialPropertyList[p_name] = sp;
		}

		/**
		 * Adds a new special property modifier to the available modifier list.
		 *
		 * @param		p_name				Name of the "special" property modifier.
		 * @param		p_modifyFunction	Function that modifies the value.
		 * @param		p_getFunction		Function that gets the value.
		 */
		public static function registerSpecialPropertyModifier(p_name:String, p_modifyFunction:Function, p_getFunction:Function): void {
			if (!_inited) init();
			var spm:SpecialPropertyModifier = new SpecialPropertyModifier(p_modifyFunction, p_getFunction);
			_specialPropertyModifierList[p_name] = spm;
		}

		/**
		 * Adds a new special property splitter to the available splitter list.
		 *
		 * @param		p_name				Name of the "special" property splitter.
		 * @param		p_splitFunction		Function that splits the value.
		 */
		public static function registerSpecialPropertySplitter(p_name:String, p_splitFunction:Function, p_parameters:Array = null): void {
			if (!_inited) init();
			var sps:SpecialPropertySplitter = new SpecialPropertySplitter(p_splitFunction, p_parameters);
			_specialPropertySplitterList[p_name] = sps;
		}

		/**
		 * Starts the Tweener class engine. It is supposed to be running every time a tween exists.
		 */
		private static function startEngine():void {
			_engineExists = true;
			_tweenList = new Array();
			
			__tweener_controller__ = new MovieClip();
			__tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
			
			updateTime();
		}
	
		/**
		 * Stops the Tweener class engine.
		 */
		private static function stopEngine():void {
			_engineExists = false;
			_tweenList = null;
			_currentTime = 0;
			__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
			__tweener_controller__ = null;
		}
	
		/**
		 * Gets a property value from an object.
		 *
		 * @param		p_obj				Object		Any given object
		 * @param		p_prop				String		The property name
		 * @return							Number		The value
		 */
		private static function getPropertyValue(p_obj:Object, p_prop:String):Number {
			if (_specialPropertyList[p_prop] != undefined) {
				// Special property
				if (Boolean(_specialPropertyList[p_prop].parameters)) {
					// Uses additional parameters
					return _specialPropertyList[p_prop].getValue(p_obj, _specialPropertyList[p_prop].parameters);
				} else {
					// Doesn't use additional parameters
					return _specialPropertyList[p_prop].getValue(p_obj);
				}
			} else {
				// Regular property
				return p_obj[p_prop];
			}
		}
	
		/**
		 * Sets the value of an object property.
		 *
		 * @param		p_obj				Object		Any given object
		 * @param		p_prop				String		The property name
		 * @param		p_value				Number		The new value
		 */
		private static function setPropertyValue(p_obj:Object, p_prop:String, p_value:Number): void {
			if (_specialPropertyList[p_prop] != undefined) {
				// Special property
				if (Boolean(_specialPropertyList[p_prop].parameters)) {
					// Uses additional parameters
					_specialPropertyList[p_prop].setValue(p_obj, p_value, _specialPropertyList[p_prop].parameters);
				} else {
					// Doesn't use additional parameters
					_specialPropertyList[p_prop].setValue(p_obj, p_value);
				}
			} else {
				// Regular property
				p_obj[p_prop] = p_value;
			}
		}
	
		/**
		 * Updates the time to enforce time grid-based updates.
		 */
		public static function updateTime():void {
			_currentTime = getTimer();
		}
	
		/**
		 * Ran once every frame. It's the main engine; updates all existing tweenings.
		 */
		public static function onEnterFrame(e:Event):void {
			updateTime();
			var hasUpdated:Boolean = false;
			hasUpdated = updateTweens();
			if (!hasUpdated) stopEngine();	// There's no tweening to update or wait, so it's better to stop the engine
		}
	
		/**
		 * Sets the new time scale.
		 *
		 * @param		p_time				Number		New time scale (0.5 = slow, 1 = normal, 2 = 2x fast forward, etc)
		 */
		public static function setTimeScale(p_time:Number):void {
			var i:Number;
	
			if (isNaN(p_time)) p_time = 1;
			if (p_time < 0.00001) p_time = 0.00001;
			if (p_time != _timeScale) {
				if (_tweenList != null) {
					// Multiplies all existing tween times accordingly
					for (i = 0; i<_tweenList.length; i++) {
						_tweenList[i].timeStart = _currentTime - ((_currentTime - _tweenList[i].timeStart) * _timeScale / p_time);
						_tweenList[i].timeComplete = _currentTime - ((_currentTime - _tweenList[i].timeComplete) * _timeScale / p_time);
						if (_tweenList[i].timePaused != undefined) _tweenList[i].timePaused = _currentTime - ((_currentTime - _tweenList[i].timePaused) * _timeScale / p_time);
					}
				}
				// Sets the new timescale value (for new tweenings)
				_timeScale = p_time;
			}
		}


		// ==================================================================================================================================
		// AUXILIARY functions --------------------------------------------------------------------------------------------------------------

		/**
		 * Finds whether or not an object has any tweening.
		 *
		 * @param		p_scope		Target object.
		 * @return					<code>true</code> if there's a tweening occuring on this object (paused, delayed, or active), <code>false</code> if otherwise.
		 */
		public static function isTweening (p_scope:Object):Boolean {
			if (!Boolean(_tweenList)) return false;
			var i:uint;

			for (i = 0; i<_tweenList.length; i++) {
				if (_tweenList[i].scope == p_scope) {
					return true;
				}
			}
			return false;
		}

		/**
		 * Returns an array containing a list of the properties being tweened for this object.
		 *
		 * @param		p_scope		Target object.
		 * @return					Total number of properties being tweened (including delayed or paused tweens).
		 */
		public static function getTweens (p_scope:Object):Array {
			if (!Boolean(_tweenList)) return [];
			var i:uint;
			var pName:String;
 			var tList:Array = new Array();

			for (i = 0; i<_tweenList.length; i++) {
				if (_tweenList[i].scope == p_scope) {
					for (pName in _tweenList[i].properties) tList.push(pName);
				}
			}
			return tList;
		}

		/**
		 * Returns the number of properties being tweened for a given object.
		 *
		 * @param		p_scope		Target object.
		 * @return					Total number of properties being tweened (including delayed or paused tweens).
		 */
		public static function getTweenCount (p_scope:Object):Number {
			if (!Boolean(_tweenList)) return 0;
			var i:uint;
			var c:Number = 0;

			for (i = 0; i<_tweenList.length; i++) {
				if (_tweenList[i].scope == p_scope) {
					c += AuxFunctions.getObjectLength(_tweenList[i].properties);
				}
			}
			return c;
		}


        /* Handles errors when Tweener executes any callbacks (onStart, onUpdate, etc)
        *  If the TweenListObj specifies an <code>onError</code> callback it well get called, passing the <code>Error</code> object and the current scope as parameters. If no <code>onError</code> callback is specified, it will trace a stackTrace.
        */
        private static function handleError(pTweening : TweenListObj, pError : Error, pCallBackName : String) : void{
            // do we have an error handler?
            if (Boolean(pTweening.onError) && (pTweening.onError is Function)){
                // yup, there's a handler. Wrap this in a try catch in case the onError throws an error itself.
                try{
                    pTweening.onError.apply(pTweening.scope, [pTweening.scope, pError]);
                }catch (metaError : Error){
                    trace("## [Tweener] Error:", pTweening.scope, "raised an error while executing the 'onError' handler. Original error:\n", pError.getStackTrace() , "\nonError error:", metaError.getStackTrace());
                }
            }else{
                // o handler, simply trace the stack trace:
                if (!Boolean(pTweening.onError)){
                    trace("## [Tweener] Error: :", pTweening.scope, "raised an error while executing the'" + pCallBackName + "'handler. \n", pError.getStackTrace() );
                }
            }
        }


		/**
		 * Returns the current tweener version.
		 * @return					The identification string of the current Tweener version, composed of an identification of the platform version ("AS2", "AS2_FL7", or "AS3") followed by space and then the version number.
		 * @example The following code returns the current used version of Tweener:
		 * <listing version="3.0">
		 * import caurina.transitions.Tweener;
		 *
		 * var tVersion:String = Tweener.getVersion();
		 * trace ("Using Tweener version " + tVersion + "."); // Outputs: "Using Tweener version AS3 1.24.47."</listing>
		 */
		public static function getVersion ():String {
			return "AS3 1.26.62";
		}


		// ==================================================================================================================================
		// DEBUG functions ------------------------------------------------------------------------------------------------------------------

		/**
		 * Lists all existing tweenings.
		 *
		 * @return					A string containing the list of all tweenings that currently exist inside the engine.
		 */
		public static function debug_getList():String {
			var ttl:String = "";
			var i:uint, k:uint;
			for (i = 0; i<_tweenList.length; i++) {
				ttl += "["+i+"] ::\n";
				for (k = 0; k<_tweenList[i].properties.length; k++) {
					ttl += "  " + _tweenList[i].properties[k].name +" -> " + _tweenList[i].properties[k].valueComplete + "\n";
				}
			}
			return ttl;
		}

	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿亚洲色图| 高清beeg欧美| 国产精品久久久久影院老司| 欧美三级视频在线| 国产69精品久久777的优势| 亚洲成人先锋电影| 中文字幕一区二| 久久久www免费人成精品| 欧美性大战久久久久久久| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产激情偷乱视频一区二区三区| 亚洲国产精品久久人人爱蜜臀| 国产亚洲精品中文字幕| 日韩欧美电影一二三| 欧美在线观看视频一区二区| 99视频热这里只有精品免费| 精久久久久久久久久久| 三级欧美在线一区| 一区二区三区国产精品| 亚洲欧美一区二区三区孕妇| 中文一区在线播放| 久久久另类综合| 精品电影一区二区三区| 欧美一级在线免费| 欧美精品日日鲁夜夜添| 欧美性一级生活| 色一情一乱一乱一91av| 91免费版在线| 91在线一区二区三区| 波多野结衣精品在线| 国产99久久久久久免费看农村| 久久爱另类一区二区小说| 美女视频黄免费的久久| 日产国产欧美视频一区精品| 五月婷婷久久综合| 丝袜美腿亚洲一区二区图片| 亚洲成人av电影在线| 亚洲国产日日夜夜| 亚洲一区二区av在线| 亚洲国产精品欧美一二99| 亚洲国产日韩av| 日韩国产精品大片| 免费xxxx性欧美18vr| 男男视频亚洲欧美| 麻豆视频观看网址久久| 蜜臀av国产精品久久久久 | 91一区二区三区在线观看| 成人av在线一区二区| 不卡的电视剧免费网站有什么| 成人av电影在线网| 99久久久国产精品| 91麻豆精东视频| 欧美在线不卡视频| 欧美精品99久久久**| 日韩一级黄色片| 久久久久久久综合日本| 国产精品无人区| 亚洲综合偷拍欧美一区色| 午夜欧美一区二区三区在线播放| 日韩av电影免费观看高清完整版| 久久成人免费电影| 国产.精品.日韩.另类.中文.在线.播放| 国产精品一线二线三线精华| 99久久99久久久精品齐齐| 色噜噜久久综合| 在线播放欧美女士性生活| 2014亚洲片线观看视频免费| 国产精品成人在线观看| 一区二区三区电影在线播| 青青草国产成人99久久| 国产精品99久久久久久有的能看| 91麻豆高清视频| 91精品国产aⅴ一区二区| 久久亚洲精品国产精品紫薇| 亚洲欧洲成人精品av97| 亚洲444eee在线观看| 久久国产精品99久久久久久老狼| 国产激情精品久久久第一区二区| 91丝袜美腿高跟国产极品老师| 欧美精品日韩精品| 国产欧美一区在线| 亚洲国产欧美一区二区三区丁香婷| 免费成人在线播放| 91香蕉视频mp4| 日韩欧美黄色影院| 国产精品丝袜在线| 免费的国产精品| 99re免费视频精品全部| 欧美一级欧美三级| 国产精品福利影院| 蜜臀久久99精品久久久久久9| 国产91精品在线观看| 欧美蜜桃一区二区三区| 欧美激情一区二区三区不卡| 婷婷夜色潮精品综合在线| 成人sese在线| 亚洲精品日产精品乱码不卡| 日本中文字幕一区| 一本到三区不卡视频| 欧美变态口味重另类| 亚洲精品伦理在线| 国模一区二区三区白浆| 欧美片在线播放| 亚洲另类春色国产| 国产盗摄一区二区| 欧美一区二区三区四区久久| 亚洲女人小视频在线观看| 国产成人在线电影| 日韩精品一区二区三区在线| 亚洲第一搞黄网站| 色狠狠色噜噜噜综合网| 国产日产亚洲精品系列| 久久精品99国产国产精| 欧美人成免费网站| 亚洲精选在线视频| 成人开心网精品视频| 26uuu色噜噜精品一区二区| 日韩黄色免费电影| 欧美日韩不卡在线| 亚洲午夜免费视频| 91久久线看在观草草青青| 中文字幕av一区二区三区高| 国产毛片一区二区| 精品国产乱码久久久久久夜甘婷婷 | 日本高清视频一区二区| 国产日韩精品视频一区| 精品一区二区三区在线播放| 欧美精品丝袜久久久中文字幕| 亚洲电影你懂得| 色综合久久中文字幕| 亚洲欧美日本在线| 99精品视频在线观看| 国产精品视频在线看| jizz一区二区| 国产精品久久久久久久久果冻传媒| 国产91露脸合集magnet| 中文字幕av一区二区三区高| 成人免费看黄yyy456| 国产精品久久久久永久免费观看| 国产高清精品网站| 中文字幕亚洲在| 色综合久久天天| 亚洲国产综合人成综合网站| 欧美色图激情小说| 图片区小说区国产精品视频| 666欧美在线视频| 精品一区二区三区免费毛片爱| 亚洲精品一区二区三区在线观看| 六月婷婷色综合| 国产欧美精品在线观看| 成人综合在线观看| 一区二区三区免费网站| 欧美猛男gaygay网站| 免费日韩伦理电影| 免费在线观看日韩欧美| 91精品国产一区二区三区蜜臀| 麻豆精品在线看| 26uuu精品一区二区三区四区在线| 处破女av一区二区| 亚洲综合在线电影| 欧美一区二区视频网站| 极品少妇xxxx精品少妇偷拍| 欧美激情一区二区三区四区| 在线观看免费视频综合| 日产国产高清一区二区三区| 久久免费看少妇高潮| 91免费视频网| 蜜桃一区二区三区四区| 欧美韩日一区二区三区| 欧美日韩综合不卡| 韩国欧美国产1区| 自拍偷拍亚洲激情| 日韩欧美一级二级| 国产成人aaaa| 五月婷婷激情综合| 久久久欧美精品sm网站| 在线视频综合导航| 久久av中文字幕片| 亚洲精品少妇30p| 日韩女优电影在线观看| 97精品久久久久中文字幕| 蜜臀av一级做a爰片久久| 一区在线播放视频| 欧美一级艳片视频免费观看| 成人理论电影网| 麻豆中文一区二区| 亚洲黄网站在线观看| 精品91自产拍在线观看一区| 91黄色在线观看| 国产在线精品一区二区不卡了| 一片黄亚洲嫩模| 欧美激情综合网| 91精品国产综合久久久久| 不卡一区二区三区四区| 久久er精品视频| 五月婷婷久久丁香| 亚洲精品成a人| 国产精品网站一区| 欧美成人精品福利| 欧美三区在线观看|