var sp:Sprite = new Sprite; //容器,放置稍后的渐变背景和文本框 this.addChild(sp); //容器添加到舞台 var maskMC:MovieClip = new Maska; //创建一个渐变地图,这里是库中一个链接名为Maska的影片剪辑 maskMC.cacheAsBitmap = true; //此属性必须 sp.addChild(maskMC); //添加到容器sp var tf:TextFormat = new TextFormat(); //文本Format属性,可以不添加,随意,这里用做改变字体大小和加粗属性 tf.size = 14; tf.bold = true; var txt:TextField = new TextField; //创建个文本 txt.width = 130; txt.height = 80; txt.defaultTextFormat = tf; txt.multiline = true; txt.wordWrap = true; txt.cacheAsBitmap = true; //此属性必须 sp.addChild(txt); //文本添加进容器sp maskMC.mask = txt; //重要!将背景的遮罩设为名为txt的文本框 sp.filters = [new GlowFilter(0x00ff00,1,2,2)]; //增加描边,注意这是对文本和遮罩所在的容器sp增加滤镜 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