GradientGlowFilter 클래스를 사용하면 표시 객체 또는 BitmapData 객체에 향상된 광선 효과를 적용할 수 있습니다. 즉, 광선의 색상을 효율적으로 제어하여 한층 더 현실적인 광선 효과를 연출하도록 합니다. 또한 그래디언트 광선 필터를 사용하면 객체의 내부, 외부 또는 상단 가장자리에 그래디언트 광선을 적용할 수도 있습니다.
다음 예제에서는 스테이지에 원을 그린 다음 그래디언트 광선 필터를 적용합니다. 마우스를 점점 오른쪽 아래로 옮길수록 가로 및 세로 방향 모두에서 흐림의 양이 증가합니다. 또한 스테이지를 클릭할 때마다 흐림 강도가 높아집니다.
import flash.events.MouseEvent;
import flash.filters.BitmapFilterQuality;
import flash.filters.BitmapFilterType;
import flash.filters.GradientGlowFilter;
// Create a new Shape instance.
var shape:Shape = new Shape();
// Draw the shape.
shape.graphics.beginFill(0xFF0000, 100);
shape.graphics.moveTo(0, 0);
shape.graphics.lineTo(100, 0);
shape.graphics.lineTo(100, 100);
shape.graphics.lineTo(0, 100);
shape.graphics.lineTo(0, 0);
shape.graphics.endFill();
// Position the shape on the Stage.
addChild(shape);
shape.x = 100;
shape.y = 100;
// Define a gradient glow.
var gradientGlow:GradientGlowFilter = new GradientGlowFilter();
gradientGlow.distance = 0;
gradientGlow.angle = 45;
gradientGlow.colors = [0x000000, 0xFF0000];
gradientGlow.alphas = [0, 1];
gradientGlow.ratios = [0, 255];
gradientGlow.blurX = 10;
gradientGlow.blurY = 10;
gradientGlow.strength = 2;
gradientGlow.quality = BitmapFilterQuality.HIGH;
gradientGlow.type = BitmapFilterType.OUTER;
// Define functions to listen for two events.
function onClick(event:MouseEvent):void
{
gradientGlow.strength++;
shape.filters = [gradientGlow];
}
function onMouseMove(event:MouseEvent):void
{
gradientGlow.blurX = (stage.mouseX / stage.stageWidth) * 255;
gradientGlow.blurY = (stage.mouseY / stage.stageHeight) * 255;
shape.filters = [gradientGlow];
}
stage.addEventListener(MouseEvent.CLICK, onClick);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
|
|
|