2010-07-26 57 views
0

是否可以使用AS3和Flash CS3 IDE進行以下操作?以下僅適用於在IDE中創建了txt TextField並且txt.embedFonts行被刪除的情況。如果我使用AS3創建TextField而不是使用IDE,這不起作用。是否只通過Flex中的代碼嵌入字體?是否可以在Flash CS3中使用`[Embed source =`...?

package mtm.EmbedFonts 
{ 
    import flash.display.MovieClip; 
    import flash.text.TextField; 
    import flash.text.TextFormat; 
    import flash.text.AntiAliasType; 
    import flash.text.TextFieldAutoSize; 

    public class EmbedFonts extends MovieClip 
    { 
     public var txt:TextField; //References stage instance created in Flash CS3 IDE 
     [Embed(source='C:/WINDOWS/Fonts/Arial.TTF', fontName='_Arial', unicodeRange='U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E')] 
     protected var format:TextFormat = new TextFormat(); 

     public function EmbedFonts():void 
     { 
      initTextFormat(); 
      initTextField(); 
      txt.text = 'Hello World!'; 
     } 

     protected function initTextFormat():void 
     { 
      format.letterSpacing = 1; 
      format.size = 14; 
      format.font = "Arial"; 
     } 

     protected function initTextField():void 
     { 
      txt.multiline = true; 
      txt.wordWrap = true; 
      txt.border = true; 
      txt.selectable = true; 
      txt.autoSize = TextFieldAutoSize.LEFT; 
      txt.condenseWhite = true; 
      txt.embedFonts = true; 
      txt.setTextFormat(format); 
      txt.antiAliasType = AntiAliasType.ADVANCED; 
     } 
    } 
} 

回答

1

[Embed]元標記僅在Flex中可用。

+0

更正;它僅在Flex編譯器中可用。您可以使用該編譯器發佈非flex項目,但Flash IDE確實使用單獨的項目。 – 2010-07-27 01:29:40

+0

這很不幸。如果我對這個原因有了更深的理解,我會回答以下其他問題:「跛腳」 – 2010-07-27 03:40:19

相關問題