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

王朝学院·作者佚名  2009-02-17
窄屏简体版  字體: |||超大  

因为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 } );

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航