AS 中嵌入外部资源

虽然在有些情况下,在运行时使用 [color=red]flash.display.Loader [/color]类 读取资源很合适,但是在有些情况下有一些外部图形只想加载到 SWF 自里面。这时,如果使用 Flash IDE,可以简单地导入这个对象到库中并设置为“为 ActionScript 导出”。但在使用 Flex uilder 2 或 Flex 2 SDK 命令编译器时,没有库,那么如何在 SWF 中加载外部资源呢?
答案是使用[Embed]元数据(metadata)标签嵌入资源,元数据标签是指加到ActionScript 文件中的非正式 ActionScript 语句。另外,它们指示编译器在编译过程中去做某种事情,[Embed]标签告诉编译器在最终的 SWF 文件中加载一个特殊的外部资源,资源可以是位图或外部 SWF 文件。告诉编译器要嵌入的资源所在的 source 路径的属性,如下:
[Embed(source="picture.jpg")]

在元数据语句的后面,直接声明一个 Class 类型的变量,如下:
[
Embed(source="picture.jpg")] 
private var Image:Class;

现在可以使用这个变量创建一个新的资源实例,如下:
var img:Bitmap = new Image(); 

注意创建的这个对象是 Bitmap 类型的。如果嵌入一个外部 SWF 文件,创建的这个对
象应该是 Sprite 类型的,如下:
[Embed(source="animation.swf")] 
private var Anim:Class;
var anim:Sprite = new Anim();


[color=green]这里是一个在 SWF 中嵌入外部 JPEG 的例子: [/color]
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);
}
}
}

如果我们使用 Flash IDE ,只要将对象导入到库中并“为 ActionScript 导出”给出
一个类名就可以了。不需要使用 [Embed] 元数据标签及类变量,事实上,Flash IDE 编译
器甚至不支持 [Embed] 元数据标签。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值