2012-01-17 56 views
1

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

我知道我可以从外部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

我担心你的主要问题的简短答案是“不”。可以通过代码嵌入字体,也可以通过IDE嵌入字体,但我不知道如何描述混合方法。

的另一种方法:

在你的主FLA创建(文本框的或组)持有文本框的每种风格的影片剪辑你想重用,风格和在IDE中嵌入。将该子项TextField命名为“txt”。给MCs连接ID。现在,当您加载您的子SWF时,请使用flash.utils.getDefinitionByName()为需要显示的任何文本字段创建&添加MC的实例。在每个实例中更新文本,如下所示:myMC.txt.text =“my text”。

以上应该适用于很多领域的动态文本。当你说“文本安排”......你在谈论换行调整吗?

+0

对不起,但您的示例几乎与在代码中手动创建文本字段相同。我只希望能够将文本字段放置在IDE中,但不必在每个内容SWF中包含嵌入的文件大小。似乎有必要避免在任何地方嵌入字体。我知道该字体可供玩家使用,因为当我创建一个新字段时,它使用它就好了。现在我该如何告诉舞台上的字段(使用SAME格式)来使用该字体? – Dustin 2012-01-18 15:43:45

相关问题