渐变发光滤镜

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

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);