1

我正在进行一项练习,孩子们必须将文本字段拖到正确的框中。文本字段包含我从 xml 加载的单词。当他们将文本字段放入正确的框中时,我想更改 textfield 中部分文本的颜色。这总是必须是一个特定的字母/字母组合。

例如:他们必须学习eee之间的区别。如果他们在正确的框中放置一个带有单词“十”的文本字段,我希望“t”和“n”保持黑色,而“e”需要变成蓝色。但是如果他们把单词“tween”放在正确的框中,字母“ee”需要变成蓝色。

我一直在玩弄设置字符串一部分的 textFormat ,但我似乎无法让它工作。这也很困难,因为两个选项(e 和 ee)的字符数不同。但我没有得到任何地方。

tldr; 我想更改文本字段中部分文本的颜色

4

3 回答 3

2

怎么样 :

//setup a textformat
var textFormat:TextFormat = new TextFormat();

var startIndex:int = someString.indexOf("e");

textField.setTextFormat(textFormat,startIndex,startIndex+1);
于 2012-07-06T14:57:21.360 回答
0

我得出的结论是更改单词部分颜色的最佳方法是使用 Stylesheet 类。我从 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);
于 2013-07-31T09:35:50.527 回答
0

要更改字符串中间某些字符的颜色,请使用 html: http ://cartoonsmartblog.wordpress.com/2009/08/28/coloring-html-text-in-flash-actionscript-3-quick-code-笔记/

(顺便说一句,只需使用单引号和双引号而不是 \u0022 丑陋)

于 2012-07-06T14:46:35.507 回答