2010-04-23 20 views

回答

4

TextField類具有銳度和厚度的屬性。

銳度:可以從-400被設置爲400 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#sharpness

myField.sharpness = 400; 

厚度:可從-200被設置爲200 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#thickness

myField.thickness = -200 

一般來說它是一個好主意,將TextField實例設置爲整個像素。我有時會爲子類TextField重寫x和y的setter,像這樣。

override public function set x(value:Number):void 
{ 
    super.x = Math.round(value); 
} 

我還發現,如果你正在使用像素字體,它是設置到TextField.antiAliasTypeAntiAliasType.ADVANCED一個好主意。

+0

非常感謝 - 我確實知道清晰度,但從來沒有注意到厚度,這節省了我。現在效果很好 - 至少足以滿足我的需求。 – 2010-04-23 09:08:59

+0

很高興它幫助:) – JeremyFromEarth 2010-04-23 09:10:43

1

不是一個真正的答案,但仍然有效,

你會不會把你的字體在Flash看作他們在Photoshop做的完全一樣的。 Photoshop使用比Flash更高級的字體渲染技術。這主要可能是因爲Flash中的文本可以是動態的並且是動畫的。在Photoshop中使用的別名可能無法在這些條件下應對。要麼是這樣,要麼Adobe在實現字體渲染以匹配Photoshop(不太可能)時看不到任何價值。

我爲一家設計機構工作,甚至無法想象我不得不將它分解給設計師,以至於他們的字體在Flash中看起來與Photoshop中不一樣。這是我們都必須處理的事情。

這就是說,你可以經常通過技術@jeremyne​​albrown狀態關閉它,通常這就夠了。

+0

感謝您的解釋,我實際上設法使用上面的技術,並得到足夠接近你說的。誠然,它不完美,但對我來說很好。 – 2010-04-23 09:10:15