您的位置:首页 > 其它

Flash嵌入txt文本文件

2010-07-26 19:50 204 查看
ByteArrayAsset 是 flash.utils.ByteArray 类的子类,表示您在 Flex 应用程序中嵌入的任意字节数据序列。

可以嵌入任何类型的文件中的字节数据,并且将始终嵌入整个文件。虽然可以嵌入整个 SWF 文件,但无法嵌入 SWF 文件中特定资源的字节。

MXML 编译器自动生成扩展 ByteArrayAsset 的类,以表示嵌入的数据。

要随意嵌入一个文件,应声明一个类型为 Class 的变量,并使用 MIME 类型
application/octet-stream
为其指定
[Embed]

元数据。例如,您可以通过以下方式嵌入文本文件:

[Bindable]
[Embed(source="Story.txt", mimeType="application/octet-stream")]
private var storyClass:Class;

[/code]
编译器自动生成 ByteArrayAsset 类的子类,并将您的变量设置为对此自动生成的类的引用。然后,您可以使用此类引用使用
new
运算符创建 ByteArrayAsset 实例,并且您还可以使用 ByteArray 类的方法从字节数组中提取信息:

var storyByteArray:ByteArrayAsset = ByteArrayAsset(new storyClass());
var story:String = storyByteArray.readUTFBytes(storyByteArray.length);

您必须指定嵌入的 MIME 类型为
application/octet-stream
,以便按“原有”格式嵌入字节数据,而无需进行解析。它还使自动生成的类扩展
ByteArrayAsset,而不是扩展其它资源类。

例如,如果您嵌入 PNG 文件时没有指定此 MIME 类型,则 PNG 数据将自动转码为播放器使用的位图格式,并自动生成 BitmapAsset
子类来代表它。但是,如果您将 MIME 类型指定为
application/octet-stream
,则将不会转码,并且将按原有格式嵌入 PNG 数据,自动生成的类将扩展
ByteArrayAsset。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: