我正在进行一项练习,孩子们必须将文本字段拖到正确的方框中。 文本字段包含我从xml加载的单词。 当他们将文本字段放在正确的框中时,我想更改文本字段中文本的一部分的颜色。 这必须是特定的字母/字母组合。
例如:他们必须了解 e 和 ee 之间的区别。如果他们在正确的框中删除带有“十”字样的文本字段,我希望“t”和“n”保持黑色,而“e”需要变为蓝色。 但如果他们在正确的方框中删除“补间”这个词,则字母“ee”需要变成蓝色。
我一直在设置textFormat作为字符串的一部分,但我似乎无法使其正常工作。这也很难,因为两个选项(e和ee)的字符数不同。 但我没有到达任何地方。
tldr; 我想更改文本字段中文本部分的颜色
答案 0 :(得分:2)
怎么样:
//setup a textformat
var textFormat:TextFormat = new TextFormat();
var startIndex:int = someString.indexOf("e");
textField.setTextFormat(textFormat,startIndex,startIndex+1);
答案 1 :(得分:0)
要更改字符串中间某些字符的颜色,请使用html: http://cartoonsmartblog.wordpress.com/2009/08/28/coloring-html-text-in-flash-actionscript-3-quick-code-note/
(顺便说一下,只使用单引号和双引号代替那个丑陋)
答案 2 :(得分:0)
我得出的结论是,更改单词部分颜色的最佳方法是使用样式表类。我从Stackoverflow上的某个人那里拿了下面的片段,但是我忘了注意它是谁。对不起,无论你是谁。
var style:StyleSheet = new StyleSheet();
var styleObj:Object = new Object();
styleObj.fontSize = "bold";
styleObj.color = "#FF0000";
style.setStyle(".red",styleObj);
var tf:TextField = new TextField();
tf.styleSheet = style;
tf.htmlText = "fox is <span class='red'>red</span>";
addChild(tf);