1

私は子供たちがテキストフィールドを正しいボックスにドラッグしなければならない運動に取り組んでいます。テキストフィールドには、xmlからロードした単語が含まれています。テキストフィールドを正しいボックスにドロップしたら、テキストフィールドのテキストの一部の色を変更したいと思います。これは常に特定の文字/文字の組み合わせである必要があります。

たとえば、eeeの違いを学ぶ必要があります。正しいボックスに「ten」という単語が含まれるテキストフィールドをドロップした場合、「t」と「n」は黒のままにし、「e」は青にする必要があります。ただし、「トゥイーン」という単語を正しいボックスにドロップすると、「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

文字列の途中で一部の文字の色を変更するには、htmlを使用します:http: //cartoonsmartblog.wordpress.com/2009/08/28/coloring-html-text-in-flash-actionscript-3-quick-code-ノート/

(ところで、その醜さの代わりに一重引用符と二重引用符を使用してください)

于 2012-07-06T14:46:35.507 に答える
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 に答える