2012-01-17 35 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

相關問題