许多SWF,单字体嵌入,没有通过Actionscript创建文本字段?

时间:2012-01-17 18:42:59

标签: flash actionscript-3 actionscript fonts flash-cs5

是否可以在单个SWF中嵌入字体以在许多其他SWF中使用,同时保持通过这些SWF中的Flash IDE进行所有文本排列和设置的能力?

我知道我可以从外部SWF检索字体,注册它,并在新的TextField中使用它。但是,如果我不必在代码中创建每个文本字段,那就太好了。

例如,以下是在加载了包含字体的SWF并使用该字体的名称调用以下内容之后:

Font.registerFont();

原始文本字段不会显示任何内容,而新创建的文本字段显示原始字体,显示完全正常。

        var format:TextFormat = onStageTextField.getTextFormat();

        onStageTextField.embedFonts = true;
        onStageTextField.defaultTextFormat = format;
        onStageTextField.text = "My Text";

        var newTextField:TextField = new TextField();
        newTextField.width = 300;
        newTextField.embedFonts = true;
        newTextField.defaultTextFormat = format;
        newTextField.text = "My Text";
        contentMC.addChild(newTextField);

1 个答案:

答案 0 :(得分:1)

我担心你的主要问题的简短回答是“不”。有方法可以使用代码和IDE来嵌入字体,但我不知道如何描述一种混合方法。

另一种方法:

在主FLA中创建MovieClip,保存每种样式的文本字段(或文本字段组),您希望在IDE中重复使用样式并将其嵌入。将子TextField命名为“txt”。给MCs链接id。现在当你加载你的孩子SWF时,创建&使用flash.utils.getDefinitionByName()为需要显示的任何文本字段添加MC的实例。更新每个实例中的文本,如下所示:myMC.txt.text =“my text”。

以上内容适用于许多字段中的动态文本。当你说“文字安排”时......你在谈论换行调整吗?