2010年11月15日 星期一

[AS3]嵌入字型 - TextField.embedFonts ( 一 )

TextField.embedFonts = true;
( 一 )於元件庫中新增字型、繼承Font類別而為其子類別
   於ActionScript中建構此類別實體
   var myFont1:Font = new MyFont1();


點擊白色文字欄位區域,輪替更換所嵌入的英文字型



●●●在元件庫中新增字體與設定類別●●●

●在元件庫面板裡按右鍵,點選[新增字體]










●●在[字型內嵌]面板左側上方點選 [+] 圖示按鈕,增加字體。於右側[選項]頁籤輸入自訂名稱,從[系列]下拉選單選擇欲嵌入的字型,[樣式]下拉選單則可挑選一般、斜體或粗體等。[字元範圍]的核取方塊可用來決定要嵌入哪些字元;其下的[也包括下列字元]可貼入指定嵌入的字元,本例為[Hello World],貼入後剩下[Helo Wrd],自動捨棄了重覆字元。所以,本例MyFont1只嵌入[Helo Wrd]幾個字元。MyFont2也一樣。























●●●切換到[ActionScript]頁籤。在[連結]區塊,勾選[匯出給ActionScrip使用]、[匯出在第一影格],基底類別已自動填入[flash.text.Font],在[類別]欄位填入[MyFont1],這MyFont1類別將在ActionScript中被實體化,之後並指定給TextFormat類別的font屬性。上方[外框格式],此例勾選[傳統]。



























第一影格AS3
//
var myFont1:Font = new MyFont1();
var myFont2:Font = new MyFont2();
//Font.registerFont(MyFont1);
//
var format:TextFormat = new TextFormat();
format.color = 0x336699;
format.size = 48;
format.letterSpacing=3;
format.font = myFont1.fontName;
//
var myText:TextField = new TextField();
myText.background = true;
myText.x = 110;
myText.y = 60;
myText.embedFonts = true;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.antiAliasType = AntiAliasType.ADVANCED;
//
//defaultTextForma 要放在myText.text = "Hello World"之前
myText.defaultTextFormat = format;
myText.text = "Hello World";
//
myText.selectable = false;
myText.mouseEnabled = true;
addChild(myText);
//
myText.addEventListener(MouseEvent.CLICK, clickHandler);
//;
function clickHandler(e:MouseEvent):void
{
 format.font = format.font == myFont1.fontName ? (myFont2.fontName):(myFont1.fontName)
 myText.setTextFormat(format);
}


適用於 Adobe Flash Professional CS5 的 ActionScript 3.0 參考__flash.text.Font.fontName屬性

適用於 Adobe Flash Professional CS5 的 ActionScript 3.0 參考__flash.text.AntiAliasType 類別

沒有留言: