2012-01-10 64 views
1

我有一個嵌入在庫中的字體的父級swf,這些字體爲動作集和分配的類名導出。專利swf加載了許多子swf,我試圖從父庫中使用所需字體傳遞一個textformat對象。這怎麼能實現。在設置textformat之前,我嘗試過Font.registerFont(字體類)並創建了一個新的字體實例,但這隻適用於安裝了字體的機器。as3從父母到子女的嵌入字體swf

在子swf中,設置textfield文本,然後使用setTextFormat()應用textfomat;

任何不勝感激指針

回答

0

你試過類似的東西?

import flash.text.*; 
var font:Font1=new Font1(); 
var txt_fmt:TextFormat=new TextFormat(); 
txt_fmt.font=font.fontName; 
txt_fmt.size=24 
var txt:TextField=new TextField(); 
txt.autoSize=TextFieldAutoSize.LEFT; 
txt.defaultTextFormat=txt_fmt; 
txt.embedFonts=true 
txt.text="sara" 
txt.selectable=false 
addChild(txt); 

的代碼是從http://sara-intop.blogspot.com/2007/10/embedding-font-in-flash-cs3using-as3.html

,你也可以找到有用的:http://www.adobe.com/devnet/flash/quickstart/embedding_fonts.html

這:http://learnola.com/2008/11/05/flash-tutorial-embed-fonts-in-actionscript-3/

+0

感謝您的回覆,但我期待從父母swf共享庫字體。上面的方法需要將字體直接嵌入到子SWF中 – 2012-01-10 20:57:34

+0

當父節點完成加載子節點時,是否可以將字體類的實例(在上例中爲Font1)傳遞給加載的子節點?這只是一個想法。 – Diego 2012-01-11 00:43:50

+1

沒用,我有類似這樣的任務。我發現的是: 在加載的swf中創建的TextFileds無法獲取父SWF字體,字體列表中沒有任何內容(在CHID SWF中跟蹤) 即使在子字體列表中註冊它也沒有使其工作。 字體列表顯示有這樣的字體和它需要的字符,文本字段有需要的格式,但沒有文字:( – dnkira 2013-01-08 15:51:56

0

所以,我想它了。我必須使用由Font.enumerateFonts返回的數組並聲明一個新的Font類,然後在子swf中創建一個Textfomat對象並將其應用於文本字段。

+0

嘿傑夫,你能解釋你做了什麼?你是如何在運行時聲明一個新的字體類?thanx ,薩爾 – Saariko 2015-02-17 15:32:19