首页  ·  知识 ·  前端
ActionScript中文本字段的透明度缓动
达达  达达’s Blog  综合  编辑:dezai  图片来源:网络
因为TextField不支持对alpha的变换,因此需要对其进行一些操作,有两种方法: 第一是使用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 } );

本文作者:达达 来源:达达’s Blog
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读