flash中的格式化文本

时间:2011-06-10 11:48:12

标签: flash actionscript-3

是否可以格式化文本或格式化文本文档(.doc)以将Flash带入TextField

3 个答案:

答案 0 :(得分:0)

TextField支持一些HTML格式。您需要使用htmlText属性。它支持粗体,斜体,字体等。但字体需要在系统或嵌入式中可用。并且不完全支持img标记。

答案 1 :(得分:0)

TextField无法做到某些事情。有一点可以肯定的是,您不能在每个字符的基础上更改背景颜色。但实际上你可以做更多的格式化,然后人们显然会想到。

这是一个非常快速和肮脏的原型,向您展示它是如何工作的。

package src 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFormat;

    public class Main extends Sprite 
    {
        private var tf:TextField;
        private var tform:TextFormat;
        private var iForm:TextFormat;

        public function Main() 
        {
            addEventListener(Event.ADDED_TO_STAGE, initMain);
        }

        private function initMain(e:Event):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, initMain);

            tform = new TextFormat("Arial", 12, 0);
            iForm = new TextFormat("Arial", 12, 0xff0000, true, true);

            tf = new TextField();
            tf.defaultTextFormat = tform;
            tf.text = "A sentence is just a sentence.";
            tf.x = 100;
            tf.y = 100;
            tf.width = 300;
            addChild(tf);

            tf.setTextFormat(iForm, 2, 10);

            // We can even change the TextFormat we used just one line above and 
            // reuse it for a completely different format. Finding out the starting
            // and ending indexes isn't hard either. There are a few options. RegEx being my go to guy.
            iForm.color = 0x0000ff;
            iForm.size = 20;
            iForm.italic = false;
            tf.setTextFormat(iForm, 20, 29);
            tf.appendText(" And yet some added text doesn't mess it up!");
        }
    }
}

希望这有帮助!

如果您需要的不仅仅是TextField可以提供给您的,那么您将不得不使用TLF。 (也摇滚。)

答案 2 :(得分:0)

您无法直接从.doc文件中执行此操作。您可以使用有限的HTML子集来完成它。 TextField.htmltext支持

< a>链接

< b>粗体

<我>斜体

<你>下划线

< img>图像内嵌

< font face =“Arial”size =“18”color =“#FFCC00”>字体标签。

< ul> li>无序列表(项目符号点)

因此,如果您的格式使用上述html标记,则可以导入格式化文本。 如果您从XML中引入文本 - 将导入的文本包装在标记中通常很有用,以避免转义字符,例如“<”和“&”。