[Flash AS3] actionScript代码制作文字渐变 + 描边

 1 var sp:Sprite = new Sprite;  //容器,放置稍后的渐变背景和文本框  
 2   
 3 this.addChild(sp); //容器添加到舞台  
 4   
 5   
 6    
 7 var maskMC:MovieClip = new Maska; //创建一个渐变地图,这里是库中一个链接名为Maska的影片剪辑  
 8   
 9 maskMC.cacheAsBitmap = true; //此属性必须  
10   
11 sp.addChild(maskMC);  //添加到容器sp  
12   
13    
14   
15 var tf:TextFormat = new TextFormat(); //文本Format属性,可以不添加,随意,这里用做改变字体大小和加粗属性  
16   
17 tf.size = 14;  
18   
19 tf.bold = true;  
20   
21    
22   
23 var txt:TextField = new TextField; //创建个文本  
24   
25 txt.width = 130;  
26   
27 txt.height = 80;  
28   
29 txt.defaultTextFormat = tf;  
30   
31 txt.multiline = true;  
32   
33 txt.wordWrap = true;  
34   
35 txt.cacheAsBitmap = true; //此属性必须  
36   
37 sp.addChild(txt); //文本添加进容器sp  
38   
39    
40   
41   
42 maskMC.mask = txt; //重要!将背景的遮罩设为名为txt的文本框  
43   
44 sp.filters = [new GlowFilter(0x00ff00,1,2,2)]; //增加描边,注意这是对文本和遮罩所在的容器sp增加滤镜  
45   
46 txt.text = "编程人生taotao5453编程人生taotao5453编程人生taotao5453编程人生taotao5453编程人生taotao5453编程人生taotao5453编程人生taotao5453";  

注意:

1、本例的渐变元素是一个movieclip影片剪辑,他也可以是一个图片,只需要做BitmapData和Bitmap操作一下添加到想添加的位置即可;

2、渐变元素和文本框的深度索引是随意的,也就是说文本框放在渐变下面和放在渐变上面,在使用maskMC.mask = txt;后效果都是一样的;

3、关于描边,使用了上面方式制作遮罩后,单独对textField添加滤镜制作描边是无效的,需要对文本框和渐变底色的外层容器(即代码中的名为sp的Sprite)添加滤镜才能实现描边。

转载出处: http://blog.csdn.net/skiing_886/article/details/8093235

原文地址:https://www.cnblogs.com/buerjiongjiong/p/4755414.html