2010-08-29 77 views
0

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

回答

1

为了加载外部的SWF你的加载器只需要加载的SWF的URL,这个URL不必硬编码。有很多方法可以将参数传递给SWF文件,并且它们不一定需要Javascript。

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

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

 
Example with a text file containing a url, something like this: 
http://yourwebsite.com/test1.swf 

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

function completeHandler(event:Event):void 
{ 
loadExternalSWF(event.target.data); 
event.target.removeEventListener(Event.COMPLETE , completeHandler); 
} 

function loadExternalSWF(url:String):void 
{ 
//your code here , using the url value 
trace(url);//should return your text file content 
} 
+0

感谢您的回答。 无论如何,我不知道如何加载XML或文本文件可以解决我的问题,而我必须直接从显示Flash的网页传递参数。 我想我会最终决定使用Javascript ... – rhino 2010-08-29 16:15:09

+1

你可以使用FlashVars代替 – Eugene 2010-08-29 18:57:12

+0

谢谢。 :)我以前不知道FlashVars,现在我已经在Google上找到它了,它似乎非常有用。我可能会用它,谢谢。 – rhino 2010-09-01 15:06:25