1

私はこの機能を持っています:

private function boldVerb(_phrase:String, _verb:String):String
{
    var newHtmlText:String = "";

    var pattern:RegExp = new RegExp([_verb]);

    newHtmlText = _phrase.replace(pattern, "<b>" + _verb + "</b>");
    return newHtmlText;
}

そして、関数が受け取るこの「動詞」の色を変更したいと思います。AS3で可能ですか?

4

3 に答える 3

1

もちろん。スタイルシートを使用するか、fontタグを使用できます (html テキストフィールドであると仮定します)。

<font color='#FF0000'>This is red</font>

こちらのドキュメントを参照してください。

于 2012-09-05T13:27:10.880 に答える
0

また、これは HTML 形式のテキストであるため、.verb クラスを含むスタイルシートを作成し、class 属性 verb を含むタグ span で必要に応じてペイントできます。これは柔軟性を高めるためです。

于 2012-09-05T13:58:43.947 に答える
0
private function boldVerb(_phrase:String, _verb:String):String
{
    var newHtmlText:String = "";

    var format:TextFormat = new TextFormat();
    format.color = 0x990000;

    var pattern:RegExp = new RegExp([_verb]);

    newHtmlText = _phrase.replace(pattern, "<b>" + _verb + "</b>");
    textField.setTextFormat(format);

    return newHtmlText;
}

textField がステージ上のテキスト フィールドである場合、これは機能するはずですが、これは AS3 でテキストの書式設定を行う方法です。詳細については、「AS3 TextFormat」で Google 検索を行ってください。まず、新しい TextFormat オブジェクトを作成し、プロパティを指定します。濃い赤の #990000 (AS では 0x990000) を選択し、それをテキスト フィールドに適用しました。文字列自体をフォーマットしたいのは確かです.Flashでそれが可能かどうかは覚えていませんが、テキストフィールド自体を編集することはできます. そのため、いくつかのテキスト フィールドをつなぎ合わせて、1 つのアクセント付きの単語を含むテキストの文字列を取得する必要がある場合があります。うまくいけば、それがあなたに一歩近づきます!幸運を!

于 2012-09-05T14:22:02.797 に答える