是否可以在单个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);
答案 0 :(得分:1)
我担心你的主要问题的简短回答是“不”。有方法可以使用代码和IDE来嵌入字体,但我不知道如何描述一种混合方法。
另一种方法:
在主FLA中创建MovieClip,保存每种样式的文本字段(或文本字段组),您希望在IDE中重复使用样式并将其嵌入。将子TextField命名为“txt”。给MCs链接id。现在当你加载你的孩子SWF时,创建&使用flash.utils.getDefinitionByName()为需要显示的任何文本字段添加MC的实例。更新每个实例中的文本,如下所示:myMC.txt.text =“my text”。
以上内容适用于许多字段中的动态文本。当你说“文字安排”时......你在谈论换行调整吗?