AS3 Embed
原创
©著作权归作者所有:来自51CTO博客作者ch_kexin的原创作品,请联系作者获取转载授权,否则将追究法律责任
以前只知道外部加载文件图片用load,今天发现一个新东西,记录下来以备查阅。外部加载可以用load和Embed方法,他们区别在于Embed表示编译的时候加载而load表示执行时加载。
[Embed(source="xxxx")]在as文件中怎样使用:
package {
import flash.display.Sprite;
import flash.display.Bitmap;
public class EmbedAsset extends Sprite {
[Embed(source="picture.jpg")]
private var Image:Class;
public function EmbedAsset() {
init();
}
private function init():void {
var img:Bitmap = new Image();
addChild(img);
}
}
}
AS3.0中使用TextField显示Embed的图片:
package {
import flash.display.Sprite;
import flash.text.*;
public class EmbedImageForTextField extends Sprite
{
[Embed(source="image.png")]
private var yellow:Class;
public function EmbedImageForTextField()
{
var t:TextField = new TextField();
t.htmlText = "这里显示一张库里的图<img src='EmbedImageForTextField_yellow'/>";
addChild(t);
}
}
}
使用Embed嵌入图片文件后..
我们一样可以使用img标签的src属性来指定嵌入的图片资源..
不过在指定的时候..需要以"所在类名_变量名"的形式来指定..
上例中:
所在类名为EmbedImageForTextField
变量名为yellow
那指定的时候就需要写为"EmbedImageForTextField_yellow";
嵌入xml文件:
[Embed("config.xml", mimeType="application/octet-stream")]
private var config:Class;
var myXML:XML=new XML(new config);
嵌入字体文件
嵌入外部字体
[Embed(source="fonts/FOLKS-BOLD.TTF", fontName="FontFolksBold", embedAsCFF="false")]
public static var MyFont:Class;
var tf:TextField = new TextField();
tf.defaultTextFormat = new TextFormat("FontFolksBold", 30, 0);
tf.embedFonts = true;
tf.autoSize = "left";
tf.text = "Hello World!";
addChild(tf);
嵌入系统字体
[Embed(systemFont="STHUPO", fontName="琥珀", mimeType="application/x-font-truetype")]