空暇时间,总结一下[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);
? ? ? }
? ? ?}
}