我有一个非常繁忙的聊天应用程序,textArea设置为在一定数量的文本后清除自己,但我想要的是显示textArea中的最后100行文本并删除其余文本。
使用Flash CC
该文本来自Red5服务器,如下所示:
function onReceiveMsg(UserName:String, Msg:String):void{
if (myTextArea.length > 21400){
myTextArea.htmlText = "";
}
//add text to textArea
myTextArea.htmlText += "<font color='#FF0000'>"+UserName+": "+Msg"</font>";
}
那么,还有什么想要保持最后100行聊天?谢谢! : - )
答案 0 :(得分:0)
我只是将您收到的所有消息存储在一个数组中:
var messages:Array = [];
function onReceiveMsg(userName:String, msg:String):void
{
messages.push({ userName: userName, msg: msg });
displayMessages(); // See below.
}
然后从中显示最后的0-100个项目:
function displayMessages():void
{
myTextArea.htmlText = "";
var recent:Array = messages.slice(-100);
for each(var i:Object in recent)
{
myTextArea.htmlText += "<font color='#FF0000'>" + i.userName + ": " + i.msg + "</font>";
}
}