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文件里嵌入的。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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);       }      } }
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄