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

📄 abstractchannel3d.as.svn-base

📁 ActionScript写的3D图片展示功能
💻 SVN-BASE
字号:
package org.papervision3d.core.animation.channel{	import org.papervision3d.core.animation.AnimationKeyFrame3D;	import org.papervision3d.core.animation.IAnimationDataProvider;	import org.papervision3d.objects.DisplayObject3D;		/**	 * @author Tim Knip	 */ 	public class AbstractChannel3D	{			/** */		public var parent:IAnimationDataProvider;				/** */		public var name:String;				/** */			public var keyFrames:Array;				/** */		public var minTime:Number;				/** */		public var maxTime:Number;				/** */		public var output:Array;				/** Position. Use by time based animations. */		public var position:Number;				/** Tolerance. Use by time based animations. */		public var tolerance:Number;				/** */		public function get defaultTarget():DisplayObject3D { return _defaultTarget; }				/**		 * Constructor.		 * 		 * @param	parent		 * @param	defaultTarget		 * @param	name		 */ 		public function AbstractChannel3D(parent:IAnimationDataProvider, defaultTarget:DisplayObject3D, name:String = null)		{			this.parent = parent;			_defaultTarget = defaultTarget;			this.name = name;			this.minTime = this.maxTime = 0;			this.keyFrames = new Array();		}				/**		 * Adds a new keyframe.		 * 		 * @param	keyframe		 * 		 * @return	The added keyframe.		 */ 		public function addKeyFrame(keyframe:AnimationKeyFrame3D):AnimationKeyFrame3D		{			if(this.keyFrames.length)			{				this.minTime = Math.min(this.minTime, keyframe.time);				this.maxTime = Math.max(this.maxTime, keyframe.time);			}			else			{				this.minTime = this.maxTime = keyframe.time;			}						this.keyFrames.push(keyframe);			this.keyFrames.sortOn("time", Array.NUMERIC);						return keyframe;		}				/**		 * Updates this channel.		 * 		 * @param	keyframe		 * @param	target		 */ 		public function updateToFrame(keyframe:uint, target:DisplayObject3D=null):void		{			if(!this.keyFrames.length)			{				this.output = new Array();				return;			}							var kf:AnimationKeyFrame3D = keyframe < this.keyFrames.length ? this.keyFrames[keyframe] : this.keyFrames[0];						this.output = kf.output;		}				/**		 * Updates this channel by time.		 * 		 */ 		public function updateToTime(time:Number, frameSnap:Number=0):void		{				var cur:int = 0;						if(time < this.minTime)			{				cur = 0;			}			else if(time > this.maxTime)			{				cur = this.keyFrames.length - 1;			}			else			{				for(var i:int = 0; i < this.keyFrames.length; i++)				{					if(time > this.keyFrames[i].time)					{						cur = i;						break;					}				}			}						var curKF:AnimationKeyFrame3D = this.keyFrames[cur];			this.output = curKF.output;		}				protected var _nextOutput:Array;				private var _defaultTarget:DisplayObject3D;	}}

⌨️ 快捷键说明

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