当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash AS文本字段的透明度alpha变换

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 Flash AS文本字段的透明度alpha变换


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 223 ::
收藏到网摘: n/a

因为TextField不支持对alpha的变换,因此需要对其进行一些操作,有两种方法:

第一是使用BitmapData去绘制,然后对Bitmap进行操作,这个方法代码量稍微偏多,这里不做赘述。

第二种是使用ColorMatrixFilter过滤器。

//Code:
  1. package com.drore.map.view
  2. {
  3.  import flash.display.Sprite;
  4.  import flash.events.Event;
  5.  import flash.text.TextField;
  6.  import flash.filters.ColorMatrixFilter;
  7.  
  8.  /**
  9.   * 动态生成鼠标提示
  10.   * @author Dada http://www.asflex.cn
  11.   * @version 5.0
  12.   * @copy Drore http://www.drore.com
  13.   */
  14.  public class MouseTip extends Sprite
  15.  {
  16.   private var txtTips:TextField = new TextField();
  17.   public function MouseTip()
  18.   {
  19.    addEventListener(Event.ENTER_FRAME, init);
  20.   }
  21.   private function init(event:Event):void
  22.   {
  23.    removeEventListener(Event.ENTER_FRAME, init);
  24.    txtTips.selectable = false;
  25.    txtTips.tabEnabled = false;
  26.    txtTips.mouseEnabled = false;
  27.    txtTips.cacheAsBitmap = true;
  28.    txtTips.multiline = false;
  29.    //设置滤镜
  30.    txtTips.filters=[new ColorMatrixFilter];
  31.    addChild(txtTips);
  32.   }
  33.   //设置提示文字
  34.   public function setText(txt:String):void
  35.   {
  36.    txtTips.text = txt;
  37.    txtTips.width = txtTips.textWidth + 10;
  38.    drawBg();
  39.   }
  40.   //绘制背景
  41.   private function drawBg():void
  42.   {
  43.    graphics.clear();
  44.    graphics.beginFill(0xF3E789, .8);
  45.    graphics.lineStyle(1, 0xFFFF00);
  46.    graphics.drawRoundRect( -5, -5, txtTips.textWidth + 15, txtTips.textHeight + 15, 10, 10);
  47.    graphics.endFill();
  48.   }
  49.  }
  50.  
  51. }

使用方法:

//Code:
  1. //鼠标提示框
  2. private var mtips:MouseTip = new MouseTip();
  3. mtips.setText("This is a test sentense.");
  4. //使用TweenLite对mtips进行alipa缓动
  5. TweenLite.to(mtips, .3, { alpha:0 } );