·您的位置: 首页 » 资源教程 » 创意设计 » Flash » 实现文本字段透明效果的几种方法

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

类别: Flash教程  评论数:0 总得分:0

  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 symbolsCreating 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%

-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1