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

📄 colorinterpolator.as

📁 用于flash/flex的 as3的 2D图形图像图表的动态生成
💻 AS
字号:
package flare.animate.interpolate
{	
	/**
	 * Interpolator for color (<code>uint</code>) values.
	 */ 
	public class ColorInterpolator extends Interpolator
	{
		private var _start:uint;
		private var _end:uint;
		
		/**
		 * Creates a new ColorInterpolator.
		 * @param target the object whose property is being interpolated
		 * @param property the property to interpolate
		 * @param start the starting color value to interpolate from
		 * @param end the target color value to interpolate to
		 */
		public function ColorInterpolator(target:Object, property:String,
		                                  start:Object, end:Object)
		{
			super(target, property, start, end);
		}
		
		/**
		 * Initializes this interpolator.
		 * @param start the starting value of the interpolation
		 * @param end the target value of the interpolation
		 */
		protected override function init(start:Object, end:Object) : void
		{
			_start = uint(start);
			_end = uint(end);
		}
		
		/**
		 * Calculate and set an interpolated property value.
		 * @param f the interpolation fraction (typically between 0 and 1)
		 */
		public override function interpolate(f:Number) : void
		{
			// we'll do all the work here to avoid the overhead of
			//  extra method calls (rather than call Colors.interpolate)
			var a1:uint, a2:uint, r1:uint, r2:uint, 
			    g1:uint, g2:uint, b1:uint, b2:uint;
			
			// get color components
			a1 = (_start >> 24) & 0xFF; a2 = (_end >> 24) & 0xFF;
			r1 = (_start >> 16) & 0xFF; r2 = (_end >> 16) & 0xFF;
			g1 = (_start >>  8) & 0xFF; g2 = (_end >>  8) & 0xFF;
			b1 =  _start & 0xff;        b2 =  _end & 0xFF;
			
			// interpolate the color components
			a1 += f*(a2-a1); r1 += f*(r2-r1);
			g1 += f*(g2-g1); b1 += f*(b2-b1);
			
			// recombine into final color
			a1 = ((a1 & 0xFF) << 24) | ((r1 & 0xFF) << 16) |
				 ((g1 & 0xFF) <<  8) |  (b1 & 0xFF);
			
			// update the property value
			_prop.setValue(_target, a1);
		}
		
	} // end of class ColorInterpolator
}

⌨️ 快捷键说明

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