ActionScript 3 - загрузчик, поддерживающий множество приложений? - PullRequest
0 голосов
/ 29 августа 2010

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

1 Ответ

1 голос
/ 29 августа 2010

Для загрузки внешнего 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
}
...