2010-08-29 83 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

相關問題