实现文本字段透明效果的几种方法

2008-04-02 10:58:10来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  Flash Player 6就开始支持文本字段(TextField)透明度属性(alpha),但是TextField._alpha只支持使用嵌入字体轮廓呈现的文本字段(TextField.embedFonts = true),对默认的设备字体呈现的文本字段无效。

  下面先介绍TextField._alpha的实现方式,以下代码配置my_txt文本的透明度为20%。点击库->新建字体(New Font)选项,创建一字体元件(font symbol),然后配置该字体元件链接标识符为“ my font”。

  


  var my_fmt:TextFormat = new TextFormat();

  my_fmt.font = "my font";//'my font'为库中字体元件的链接标识符

  this.createTextField("my_txt",this.getNextHighestDepth(), 10, 10, 100, 22);

  my_txt.border = true;

  my_txt.embedFonts = true;//使用嵌入字体轮廓呈现文本字段

  my_txt.text = "Hello World";

  my_txt.setTextFormat(my_fmt);

  my_txt._alpha = 20;


  以上方法用到了字体元件,使用起来不是很方便,而且由于发布时打包了字体导致swf文档相对比较大。想更多了解字体元件,参看这里Flash TechNotes: Using font symbols、Creating font symbols。

  以下两种方法抛弃TextField._alpha,模拟实现文本字段的透明效果。

  一、通过配置颜色模拟

  


  function setAlpha(obj, alpha) {

   var rgb = "0x" (255*(100-alpha)/100).toString(16);

   rgb = rgb << 16 | rgb << 8 | rgb;

   obj.backgroundColor |= rgb;

   obj.borderColor |= rgb;

   obj.textColor |= rgb;

  }


  二、通过创建一影片剪辑作文本的蒙层

  


  function setAlpha(obj, alpha) {

   var tmp_mc_name:String = obj._name "_alphamask_mc";

   var tmp_mc:MovieClip = eval(tmp_mc_name);

   if (!tmp_mc) {

   tmp_mc = this.createEmptyMovieClip(tmp_mc_name,this.getNextHighestDepth());

   tmp_mc.beginFill(0xFFFFFF);

   tmp_mc.moveTo(0, 0);

   tmp_mc.lineTo(20, 0);

   tmp_mc.lineTo(20, 10);

   tmp_mc.lineTo(0, 10);

   tmp_mc.lineTo(0, 0);

   tmp_mc.endFill();

   }

   tmp_mc._x = obj._x;

   tmp_mc._y = obj._y;

   tmp_mc._width = (obj.border) ? obj._width 1 : obj._width;

   tmp_mc._height = (obj.border) ? obj._height 1 : obj._height;

   tmp_mc._alpha = 100-alpha;

  }


  使用方法:

  


  this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 100, 22);

  my_txt.text = "Hello World";

  setAlpha(my_txt,50);//配置my_txt文本透明度为50%


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 用Flash制作简易的图片浏览器

下一篇: 加载外部文本文档的3种方法