快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

  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%


返回类别: Flash教程
上一教程: Flash制作漫天五彩星效果动画
下一教程: Flash MX 2004 ActionScript图文教程(五)

您可以阅读与"实现文本字段透明效果的几种方式"相关的教程:
· 用DataGrid读入数据的几种方式
· 枫桥夜泊下 遮罩效果的动态文本
· Flash中残影效果的简朴实现
· Flash中百叶窗效果的实现
· Flash实现在花间自由地翱翔小鸟的效果
    微笑服务 优质保证 索取样品