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

相关问题