【发布时间】:2010-07-03 01:27:31
【问题描述】:
我需要能够将外部配置文件加载到我的 flex 应用程序中。我读过这可以使用嵌入,只要将 mimeType 设置为 application/octet-stream。
package learning {
import org.flixel.*;
public class PlayState extends FlxState {
[Embed(source = "../../data/tiles.png")] private var _tiles:Class;
[Embed(source = '../../data/map.txt', mimeType = "application/octet-stream")] private var ExternalMapData:Class;
public var txt:FlxText;
public var player:FlxSprite;
override public function create():void {
bgColor = 0xffaaaaaa;
super.create();
}
override public function update():void {
super.update();
}
}
}
当我使用mxmlc 编译它时,它编译成功,没有错误。当我运行 SWF 时,它会加载所有 Flixel 菜单然后挂起。
如果我注释掉 [Embed(source = '../../data/map.txt' 行,它会编译并且不会挂起。
为什么这个嵌入会导致冻结?
mxmlc 的版本信息:
Adobe Flex Compiler (mxmlc)
Version 4.0.0 build 14159
编辑
原来错误没有正确显示,但这是我尝试嵌入的结果:
VerifyError: Error #1014: Class mx.core::ByteArrayAsset could not be found.
Google 发现了一群人有同样的问题,但没有明显的解决方案。
import mx.core.ByteArrayAsset; ByteArrayAsset
也无济于事。
【问题讨论】:
-
@M28 不重复 - 我有我想要的源代码,但由于某种原因它会导致程序挂起。那篇文章首先是在询问如何做到这一点。
-
在你给出的问题中:
'../../data/map.txt'和'../../map.txt',哪个是正确的? -
../../map.txt是一个错字。谢谢
标签: apache-flex actionscript-3 mxmlc