2010-07-19 22 views
1

我在Flash項目庫中爲自定義字體添加了自定義類。 現在,當我嘗試嵌入字體並使用它從動作,文本不可見。當嵌入字體設置爲true時,actionscript文本不會出現

沒有錯誤被拋出。 這是我的代碼。

var tabfont:Font = new tabHeaderFont(); 

var format:TextFormat = new TextFormat(); 
format.font = tabfont.fontName; 

tab.defaultTextFormat = format; 
tab.embedFonts = true; 

addChild(tab); 

有人可以找出這是什麼問題。

+0

你嵌入了適當的字體嗎? – Amarghosh 2010-07-19 07:02:44

回答

3

您是否嘗試過使用TextField的setTextFormat方法來應用文本格式而不是defaultTextFormat屬性?另外,確保在TextFormat實例中設置任何屬性後設置TextFormat,否則將不會應用它們。

 var tabfont:Font = new TabHeaderFont(); 
     var format:TextFormat = new TextFormat(); 

     format.font = tabfont.fontName; 

     tab.embedFonts = true; 

     tab.setTextFormat(format); 
     addChild(tab); 

您還需要確保您設置的TextFormat 後設置你的文本字段或文本不會出現的財產的.text。

+0

是的,這是問題。 tab.settextFormat(format); 當我用它而不是defaultTextFormat,它開始工作。謝謝你的解釋,感謝好友 – 2010-07-19 09:12:06

0

您是否檢查過字體是否嵌入正確?如果不是,則字段將不可見。使用

Font.enumerateFonts()
獲取所有可用嵌入字體的列表。

1

defaultTextFormat & setTextFormat的主要區別是當你實際應用該方法時。

在定義TextField文本內容之前格式化TextField時使用defaultTextFormat,當您的Textfield文本內容已經設置時使用setTextFormat。

在您的代碼示例中,您沒有提及何時設置了文本屬性。

實際上,如果它使用一種方法,它應該與另一種方法一起工作。這一切都取決於你如何實現它們

+0

。 – 2011-07-02 02:31:55

相關問題