as3.0 [Embed]标签嵌入外部资源

as3.0 [Embed]标签嵌入外部资源  


空暇时间,总结一下[Embed]标签的用途,好记性不如烂笔头,记录下来,为方便查找。

1、[Embed]嵌入资源
ActionScript代码的顺序很重要。你必须在声明变量前加入[Embed]元数据标签,并且这个变量的类型会是Class。

package
{
   import flash.display.*;
   public class GIFEmbed extends Sprite 
   {
       [Embed(source = "../assets/talapetra.gif")]
       private var theClass:Class;
       public function GIFEmbed () 
       {
           var displayObj:DisplayObject = new theClass(); 
           addChild (displayObj); 
       }
   }
}


2、[Embed]从SWF文件里嵌入一个元件
symbol參数来确认特殊元件的名称,这个元件是从source參数关联的SWF文件里嵌入的。

package
{
   import flash.display.*;
   import flash.events.MouseEvent;
   import flash.geom.Rectangle;
   public class SWFEmbed extends MovieClip 
   {
       public var displayObj:DisplayObject;
       [Embed(source="Movie.swf", symbol="Slice9")] 
       var theClass:Class;
       public function SWFEmbed()
       {
            displayObj = new theClass(); 
            addChild(displayObj);
            displayObj.x = 200; 
            displayObj.y = 220; 
       }
   }
}

3、[Embed]标签嵌入字体
能够嵌入OpenType和TrueType字体
fontName: 这个參数指明了嵌入字体的名称,字体的名称是一个唯一标识,所以你能够通过名称来调用字体。
mimeType: 这个參数描写叙述了嵌入元数据的MIME类型。

嵌入一种字体设置MIME类型为"application/x-font"
package 
{
    import flash.text.*;
    import flash.display.MovieClip;
    public class FontClass extends MovieClip 
    {            
     [Embed(source="Arial Bold.ttf", fontName="myFont", fontWeight="bold", advancedAntiAliasing="true", mimeType="application/x-font")]
     private var theClass:Class;
     public function FontClass ()
     { 
            var t:TextField=new TextField();
            t.embedFonts = true; 
            var textFormat:TextFormat=new  TextFormat();
            textFormat.size = "30";
            textFormat.font = "myFont";
            t.text = "[Embed] metadata rocks!!!";
            t.width = 500;
            t.setTextFormat (textFormat); 
            addChild (t);  
     } 
    } 
}

4、[Embed]嵌入的XML文件
嵌入XML数据时。你必须将mimeType參数设置为"application/octet-stream"。

package 
{
    import flash.display.*;
    import flash.utils.ByteArray;
    public class XMLLoader extends Sprite
    {
      [Embed(source = "training.xml",mimeType = "application/octet-stream")]
      private var theClass:Class;
      public function XMLLoader ()
      {
           var xmlObj:Object = new theClass();
           trace(xmlObj);
      }
     }
}

猜你喜欢

转载自www.cnblogs.com/mqxnongmin/p/10856467.html