2010-08-29 1 views
0

Я создал простой SWF-загрузчик в ActionScript 3.0. Он загружает SWF с сервера, а затем воспроизводит его. Во время загрузки отображается экран загрузки.
Его основным недостатком является то, что он может загружать только одно приложение Flash - то, для которого оно скомпилировано. Скажем, это называется test1.swf.
Есть ли способ заставить загрузчика поддерживать более одного приложения Flash (например, test2.swf и test3.swf)? Я имею в виду, передавая ему внешние параметры и не, создавая другой загрузчик. Использует ли Javascript единственный способ сделать это? Я не хочу, чтобы мой загрузчик требовал поддержки Javascript.
И я действительно не хочу создавать отдельные загрузчики для всех моих приложений ...
Заранее спасибо.
ActionScript 3 - загрузчик, который поддерживает множество приложений?

ответ

1

Чтобы загрузить внешний SWF, вашему загрузчику нужен только URL-адрес swf для загрузки, этот 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

+1

вы можете использовать FlashVars вместо – Eugene

+0

Спасибо. :) Я раньше не знал о FlashVars, теперь я искал его в Google и, похоже, очень полезен. Я, вероятно, воспользуюсь им, спасибо. – rhino