WEB开发网
开发学院图形图像Flash ActionScript中文本字段的透明度缓动 阅读

ActionScript中文本字段的透明度缓动

 2009-02-15 19:21:43 来源:WEB开发网   
核心提示:因为TextField不支持对alpha的变换,因此需要对其进行一些操作,ActionScript中文本字段的透明度缓动,有两种方法:第一是使用BitmapData去绘制,然后对Bitmap进行操作,这个方法代码量稍微偏多,这里不做赘述

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

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

第二种是使用ColorMatrixFilter过滤器。

//Code:
package com.drore.map.view
{
 import Flash.display.SPRite;
 import flash.events.Event;
 import flash.text.TextField;
 import flash.filters.ColorMatrixFilter;
 
 /**
  * 动态生成鼠标提示
  * @author Dada http://www.asflex.cn
  * @version 5.0
  * @copy Drore http://www.drore.com
  */
 public class MouseTip extends Sprite
 {
  private var txtTips:TextField = new TextField();
  public function MouseTip()
  {
  addEventListener(Event.ENTER_FRAME, init);
  }
  private function init(event:Event):void
  {
  removeEventListener(Event.ENTER_FRAME, init);
  txtTips.selectable = false;
  txtTips.tabEnabled = false;
  txtTips.mouseEnabled = false;
  txtTips.cacheAsBitmap = true;
  txtTips.multiline = false;
  //设置滤镜
  txtTips.filters=[new ColorMatrixFilter];
  addChild(txtTips);
  }
  //设置提示文字
  public function setText(txt:String):void
  {
  txtTips.text = txt;
  txtTips.width = txtTips.textWidth + 10;
  drawBg();
  }
  //绘制背景
  private function drawBg():void
  {
  graphics.clear();
  graphics.beginFill(0xF3E789, .8);
  graphics.lineStyle(1, 0xFFFF00);
  graphics.drawRoundRect( -5, -5, txtTips.textWidth + 15, txtTips.textHeight + 15, 10, 10);
  graphics.endFill();
  }
 }
 
}
使用方法:

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

Tags:ActionScript 文本 字段

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接