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 类的样式表,然后带有类属性动词的标签跨度将根据您的需要进行绘制 - 这是为了更大的灵活性。

于 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”上进行谷歌搜索以获取更多信息。首先,创建一个新的 TextFormat 对象,并给它一个属性,我选择了一个深红色的#990000(在 AS 中为 0x990000),然后将其应用于文本字段。我确定您想要格式化字符串本身,我不记得这在 Flash 中是否可行,但您当然可以编辑文本字段本身。因此,您可能必须将一些文本字段串在一起以获得带有一个重音单词的文本字符串。希望这能让你更近一步!祝你好运!

于 2012-09-05T14:22:02.797 回答