Flex中如何通过给Alert的filters属性设置一个Alert.show()的返回参照添加一个GlowFilter的例子

By Minidxer | February 1, 2009

接下来的例子演示了Flex中如何通过给Alert的filters属性,设置一个Alert.show()的返回参照添加一个GlowFilter。

※GlowFilter类别可以让您将光晕特效套用到Flash中的各种物件。您有多种光晕样式的选择,包含内或外光晕以及去底色模式。您有多种光晕样式的选择,包含内或外光晕以及去底色模式。光晕滤镜非常类似投影distance及angle属性设为0的投影滤镜。光晕滤镜非常类似投影distance及 angle属性设为0的投影滤镜。

滤镜的使用取决于滤镜套用到的物件:滤镜的使用取决于滤镜套用到的物件:

*若要在执行阶段,将滤镜套用至影片片段、文字栏位与按钮,请使用filters属性。若要在执行阶段,将滤镜套用至影片片段、文字栏位与按钮,请使用 filters属性。设定物件的filters属性不会修改物件,而且只要清除filters属性就可以将滤镜还原。设定物件的filters属性不会修改物件,而且只要清除filters属性就可以将滤镜还原。
*若要将滤镜套用至BitmapData实体,请使用BitmapData.applyFilter()方法。若要将滤镜套用至BitmapData实体,请使用BitmapData.applyFilter()方法。对BitmapData物件呼叫applyFilter()时会采用原始 BitmapData物件和滤镜物件,结果会产生套用滤镜后的影像。对BitmapData物件呼叫applyFilter()时会采用原始 BitmapData物件和滤镜物件,结果会产生套用滤镜后的影像。

您也可以在编写期间将滤镜特效套用至影像与视讯。您也可以在编写期间将滤镜特效套用至影像与视讯。如需GlowFilter更加详细地说明,请参阅Adobe官方说明

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white"
  6.         creationComplete="init();">
  7.  
  8.     <mx:Style>
  9.         Alert {
  10.             dropShadowEnabled: false;
  11.         }
  12.     </mx:Style>
  13.  
  14.     <mx:Script>
  15.         <![CDATA[
  16.             import mx.controls.Alert;
  17.             import mx.styles.StyleManager;
  18.  
  19.             private var alert:Alert;
  20.  
  21.             private function init():void {
  22.                 var glow:GlowFilter = new GlowFilter();
  23.                 /* The GlowFilter color property takes a uint, so you
  24.                    can't use named colors. */
  25.                 glow.color = StyleManager.getColorName("red");
  26.                 glow.alpha = 0.8;
  27.                 glow.blurX = 4;
  28.                 glow.blurY = 4;
  29.                 glow.strength = 6;
  30.                 glow.quality = BitmapFilterQuality.HIGH;
  31.  
  32.                 alert = Alert.show("Message", "TITLE");
  33.                 alert.filters = [glow];
  34.             }
  35.         ]]>
  36.     </mx:Script>
  37.  
  38.     <mx:ApplicationControlBar dock="true">
  39.         <mx:Button label="Show alert" click="init();" />
  40.     </mx:ApplicationControlBar>
  41.  
  42. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Alert | No Comments » |

Search Posts