您的位置:首页 > Web前端 > HTML

AS3显示打字效果的同时保持HTML格式信息(颜色、字体等)

2012-09-23 16:00 465 查看
在NPC对话和指引等场合需要打字效果,但是又要保持HTML格式信息,一个字一个字打出来,颜色和字体等等也要显示。

/**
* 显示打字效果
* @param target
* @param htmlText
* @param onComplete
* @return 定时器ID
*
*/
function showType(target:TextField,htmlText:String,onComplete:Function = null):int
{
target.text = '';
//设置目标文本框的高度适应
var th:Number =target.height;
target.htmlText = htmlText;
if(target.textHeight>target.height)
{
target.height = target.textHeight+10;
//bk.height+=(txt.height - th);
//y-=(txt.height - th);
}

//用于暂存目标文本的格式信息
var tf:TextField = new TextField();
tf.defaultTextFormat = target.defaultTextFormat;
tf.htmlText = htmlText;

//取得去掉格式的原始文本
var orgtext:String = target.text;
target.text = '';
var i:int = 0;
//设置定时器
var timeID:uint = setInterval(function():void{
if(i>=orgtext.length)
{
clearInterval(timeID);
target.htmlText = htmlText;
//结束
if(null != onComplete)onComplete();
return;
}
//附加原始文本 并设置相应位置的文本格式
target.appendText(orgtext.substr(i,1));
target.setTextFormat(tf.getTextFormat(i),i);
i++;
},50);
return timeID;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: