2010-06-23 41 views
0

我基本上和bder on the actionscript.org forums有同樣的問題,即如果我可以使用嵌入字體(Myriad Pro)將文本分配給TextField的htmlText屬性並使用CSS設置樣式,則可以使用我的文本消除鋸齒。在ActionScript中消除別名htmlText?

一切工作正常與文本嵌入和樣式(字體是我想要的,所有的變化 - 粗體,斜體 - 顯示正確),除了它看起來不好,即不消除鋸齒。當然,我已經嘗試將antyAliasType和gridFitType屬性設置爲所有可能的組合。有任何想法嗎?

噢,我也試過完全像在例子here那樣寫我的代碼,但是也沒有工作,不知道爲什麼。

謝謝。

回答

0

This thread幫助。訣竅是將TextFormat實例(使用正確的默認字體)分配給TextField實例的defaultTextFormat屬性。所以整個代碼變成

 var tf : TextField = new TextField(); 
     tf.selectable = false; 
     tf.width = w; 
     tf.height = h; 

     tf.autoSize = TextFieldAutoSize.LEFT; 
     tf.antiAliasType = AntiAliasType.ADVANCED; 
     tf.gridFitType = GridFitType.PIXEL; 
     tf.wordWrap = true; 
     tf.multiline = true; 
     tf.embedFonts = true; 

     var tff : TextFormat = new TextFormat(); 
     tff.font = "Myriad Pro"; 
     tf.defaultTextFormat = tff; 

     tf.styleSheet = _styles; 

我希望這可以節省人頭痛。

0

其實我只是做了一些今天早上使用,並嵌入字體所以很容易測試和看到的,是的,當我改變了文本屬性的文本字段的htmlText屬性來< A HREF =「http://www.google.com/」 > <u> google </u > </a >它生成了一個下劃線鏈接,它的antiAliasType設置爲AntiAliasType.ADVANCED。

唯一的是我使用的是TextFormat而不是CSS。

我的代碼是

 var myFont:Font = new Font1(); 

     quote = new TextField(); 
     quote.selectable = false; 
     quote.embedFonts = true; 
     quote.antiAliasType = flash.text.AntiAliasType.ADVANCED; 

     quote.htmlText = "<a href='http://www.google.com/'><u>google</u></a>"; 

     tf = new TextFormat(); 
     tf.font = myFont.fontName; 
     tf.size = 24; 
     tf.color = 0xffffff; 
     tf.align = "center"; 

     quote.setTextFormat(tf); 

讓我知道如果您有任何問題。

+0

嘿比利,謝謝你的建議。儘管我們必須使用CSS,而這似乎是問題的關鍵。但同時我找到了解決辦法,我會在一秒內發佈答案。 – user166267 2010-06-24 09:46:45