0

我在 ActionScript 3.0 中创建了一个简单的 SWF 加载器。它从服务器加载 SWF,然后播放它。下载时,它会显示“加载”屏幕。
它的主要缺陷是它只能加载一个 Flash 应用程序——它被编译的那个应用程序。假设它被命名为 test1.swf。
有没有办法让加载器支持多个 Flash 应用程序(例如 test2.swf 和 test3.swf)?我的意思是通过将外部参数传递给它,而不是通过创建另一个加载器。使用 Javascript 是唯一的方法吗?我不希望我的加载程序需要 Javascript 支持。
而且我真的不想为我的所有应用程序创建单独的加载器......
在此先感谢。

4

1 回答 1

1

为了加载外部 SWF,您的加载器只需要加载 swf 的 url,这个 url 不必被硬编码。将参数传递给 SWF 文件的方法有很多,它们不一定需要 Javascript。

例如,您可以加载一个 XML 文件,一个简单的文本文件也可以,您也可以使用 PHP 脚本。使用 flahsvars 需要 Javascript,尽管只是为了在 HTML 页面中设置您的应用程序。

通过以下示例,您的应用无需重新编译,您只需更改文本文件中的 url。

包含 url 的文本文件的示例,如下所示:
http://yourwebsite.com/test1.swf

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, completeHandler);
urlLoader.load(new URLRequest('swfURL.txt'));

函数完成处理程序(事件:事件):无效
{
 loadExternalSWF(event.target.data);
 event.target.removeEventListener(Event.COMPLETE, completeHandler);
}

函数 loadExternalSWF(url:String):void
{
 //你的代码在这里,使用url值
 trace(url);//应该返回你的文本文件内容
}
于 2010-08-29T16:00:33.177 回答