我正在使用flash cc创建一个应用程序。在应用程序中,我需要加载外部swf文件,这些文件是一堆游戏。我需要swf文件来读取自己的名字。我用了
var swfName:String = decodeURIComponent(this.loaderInfo.url.split("/").pop())
代码来读取其名称。有用。但我的应用程序的问题是大小。所以我不得不从apk中排除外部swf
文件并从SD卡加载它。这个问题是沙箱错误。因此,我使用byteArray
和loaderContext
来绕过沙箱错误。它工作得很好,除了现在swf文件没有读取自己的文件名,而是它正在读取应用程序的名称。无论如何,我可以使用byteArray
加载swf文件时读取自己的名字吗?任何帮助都会很棒。提前谢谢。
答案 0 :(得分:0)
Loader对象是记录已加载内容根目录的父对象。在Loader.name属性中传递您想要的内容:
var aLoader:Loader;
var aSource:ByteArray;
aLoader = new Loader();
aLoader.name = "foo.swf";
aLoader.loadBytes(aSource);
然后在外部SWF的文档根目录(类或框架,不相关):
trace(parent); // [object Loader]
trace(parent.name) // foo.swf