让swf读出自己的名字

时间:2017-01-17 05:58:46

标签: android actionscript-3 flash

我正在使用flash cc创建一个应用程序。在应用程序中,我需要加载外部swf文件,这些文件是一堆游戏。我需要swf文件来读取自己的名字。我用了

var swfName:String = decodeURIComponent(this.loaderInfo.url.split("/").pop())代码来读取其名称。有用。但我的应用程序的问题是大小。所以我不得不从apk中排除外部swf文件并从SD卡加载它。这个问题是沙箱错误。因此,我使用byteArrayloaderContext来绕过沙箱错误。它工作得很好,除了现在swf文件没有读取自己的文件名,而是它正在读取应用程序的名称。无论如何,我可以使用byteArray加载swf文件时读取自己的名字吗?任何帮助都会很棒。提前谢谢。

1 个答案:

答案 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