【发布时间】:2011-08-02 05:56:56
【问题描述】:
我正在使用 Flash Professional CS4 和 actionscript 3.0 制作文本编辑器
快完成了,我只需要添加一个函数,在编写时突出显示“[NAME]”和“[AGE]”等“标签”(通过更改其颜色)。
我使用的是 textField,而不是 TextArea 组件。这是我正在使用的代码,但它没有按计划工作。
taMain.addEventListener(Event.CHANGE, checkTags);
function checkTags(e):void{
var tempFormat:TextFormat = taMain.getTextFormat(taMain.selectionBeginIndex - 1, taMain.selectionEndIndex);
var splitText:Array = taMain.text.split(" ");
for (var i = 0; i < splitText.lenght; i++) {
switch (splitText[i]) {
case "[NAME]":
tempFormat.color = (0xff0000);
break;
case "[AGE]":
tempFormat.color = (0x0000ff);
break;
default:
tempFormat.color = (0x000000);
}
taMain.setTextFormat(tempFormat, taMain.text.indexOf(splitText[i]), taMain.text.indexOf(splitText[i]) + splitText[i].length );
}
}
此代码仅在第一次使用标签时有效,但如果再次使用标签,则不会改变颜色。
有什么想法吗?还有什么功能可以用吗?
提前致谢。
【问题讨论】:
标签: flash actionscript-3 actionscript flash-cs4