Applying Filters with AS3 – methods
Posted on 31. Mar, 2009 by thornyeternity in ActionScript 3 Snippets
Blur Filter:
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.BlurFilter;
private function setBlur(myObj:Sprite):void {
var filter:BitmapFilter = createBlur();
var myFilters:Array = new Array();
myFilters.push(filter);
myObj.filters = myFilters;
}
private function createBlur():BitmapFilter {
var blurX:Number = 30;
var blurY:Number = 30;
return new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH);
}
————–
Simpler Version of above Blur Filter:
var blurX:Number = (mouseX – mouseY)/50;
var blurY:Number = (mouseX – mouseY)/50;
var blurFilter:BitmapFilter = new BlurFilter(blurX, blurY, BitmapFilterQuality.HIGH);
container.filters = [blurFilter];//allows multiple filters to be added to this array
———-
Drop Shadow Filter:
import flash.filters.*;
private function dropShadowFilter(obj:Sprite):void {
var filter:BitmapFilter = getBitmapFilter();
var myFilters:Array = new Array();
myFilters.push(filter);
obj.filters = myFilters;
}
private function getBitmapFilter():BitmapFilter {
var color:Number = 0×000000;
var angle:Number = 120;
var alpha:Number = 0.8;
var blurX:Number = 8;
var blurY:Number = 8;
var distance:Number = 15;
var strength:Number = 0.65;
var inner:Boolean = false;
var knockout:Boolean = false;
var quality:Number = BitmapFilterQuality.HIGH;
return new DropShadowFilter(distance , angle , color , alpha , blurX , blurY , strength , quality , inner , knockout);
}
———
Glow Filter:
import flash.filters.BitmapFilter;
import flash.filters.BitmapFilterQuality;
import flash.filters.GlowFilter;
private function thumbOverGlow(event:MouseEvent):void{
setGlow(event.target);
}//thumbOverGlow
private function clearGlow(event:MouseEvent):void{
removeGlow(event.target);
}//clearGlow
//generic filter without events
private function setGlow(obj:Sprite):void{
var filterThumb:BitmapFilter = getBitmapFilter();
var myFiltersThumb:Array = new Array();
myFiltersThumb.push(filterThumb);
obj.filters = myFiltersThumb;
}//thumbOverGlow
private function removeGlow(obj:Sprite):void{
var myFiltersClearArray:Array = new Array(); //always clear with empty array
obj.filters = myFiltersClearArray;
}//removeGlow
private function getBitmapFilter():BitmapFilter {
var glowAlpha:Number = 1;
var blurX:Number = 3;
var blurY:Number = 3;
var strength:Number = 2;
var inner:Boolean = false;
var knockout:Boolean = false;
var quality:Number = BitmapFilterQuality.HIGH;
return new GlowFilter(glowColor, glowAlpha, blurX, blurY, strength, quality, inner, knockout);
}//getBitmapFilter
——–
Apply Multiple Filters:
private function addLineFilter(obj:Sprite):void{
var filterShadow:BitmapFilter = getDropShadowFilter();
var filterGlow:BitmapFilter = getGlowFilter();
var myFilters:Array = new Array();
myFilters.push(filterShadow);
myFilters.push(filterGlow);
obj.filters = myFilters;
}//addLineFilter


