bitmapconvolutioneffect.as

来自「一个2D基于verlet的Flash物理引擎。它用AS3编写而成。Fisix的目」· AS 代码 · 共 46 行

AS
46
字号
/**
* ...
* @author Default
* @version 0.1
*/

package org.papervision3d.core.effects {
	import flash.filters.ConvolutionFilter;
	import flash.geom.Point;
	
	import org.papervision3d.core.layers.*;
	

	public class BitmapConvolutionEffect extends AbstractEffect{
		
		private var layer:BitmapEffectLayer;
		public var filter:ConvolutionFilter;
		public var convolutionMatrix:Array;
		public var divisor:Number;
		
		public function BitmapConvolutionEffect(convolutionMatrix:Array, divisor:Number = 9){
			
			this.convolutionMatrix = convolutionMatrix;
			this.divisor = divisor;
			filter = new ConvolutionFilter(3, 3, convolutionMatrix, this.divisor);
		}
		
		public function updateEffect(convolutionMatrix:Array):void{

			this.convolutionMatrix = convolutionMatrix;
			filter = new ConvolutionFilter(3, 3, convolutionMatrix, this.divisor);
		}
		public override function attachEffect(layer:EffectLayer):void{
			
			this.layer = BitmapEffectLayer(layer);
			
		}
		public override function postRender():void{
			
			layer.canvas.applyFilter(layer.canvas, layer.canvas.rect, new Point(), filter);
			
		}
	}
	
}

⌨️ 快捷键说明

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