一些特殊要求需要我们显示一系列颜色渐变的字符(好变态的需求- -!),可能不常用,这里讲解这种方法,细节请看代码注释
?效果:
首先说下本文章所讲文字渐变原理:
概括来说就是遮罩知识!影片剪辑或图片做遮罩我们很常用,这里渐变的方法是把文本做为一个有渐变颜色的底图(也可以是美工绘制的图片)的遮罩。本文主要讲了文字渐变,描边是补充内容。
-
代码:
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";
-
Maska影片剪辑外观(提示:从取色器可以直接取到这种渐变):
Maska的属性设置:
注意:
1、本例的渐变元素是一个movieclip影片剪辑,他也可以是一个图片,只需要做BitmapData和Bitmap操作一下添加到想添加的位置即可;
2、渐变元素和文本框的深度索引是随意的,也就是说文本框放在渐变下面和放在渐变上面,在使用maskMC.mask = txt;后效果都是一样的;
3、关于描边,使用了上面方式制作遮罩后,单独对textField添加滤镜制作描边是无效的,需要对文本框和渐变底色的外层容器(即代码中的名为sp的Sprite)添加滤镜才能实现描边。