Могу ли я передавать параметры из внешнего файла .swf с помощью Actionscript 3.0?

У меня есть основной файл .fla, который я использую для загрузки последовательности из трех игр. Если пользователь выигрывает игру, он переходит к следующей игре. Можно ли как-то перейти в основной проект, выиграл ли пользователь игру? Я пытался использовать loader.content, но, похоже, это не работает. Я использую Flash CS3.


person pypmannetjies    schedule 18.04.2009    source источник


Ответы (2)


Вы можете без проблем передавать данные в загруженные SWF-файлы и из них. Похоже, вы пытаетесь передать данные из загруженного swf в загружаемый swf. Идеальный способ сделать это — отправить событие на загруженный SWF-файл и прослушать его в загружаемом SWF-файле. Примерно (не проверял, потому что тороплюсь) вам нужно что-то вроде этого. Загрузите swf-файл. Иметь обработчик завершения загрузки. Получите содержимое загрузчика и прослушайте пользовательское событие. Вы можете передать все, что хотите, в этом пользовательском событии.

var myLoader:Loader = new Loader(); 
var url:URLRequest = new URLRequest("myExternalMovie.swf"); 
myLoader.load(url);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(event : Event)
{
    var contenet : MovieClip = event.target.content;
    content.addEventListener(yourGameEvent.GAME_COMPLETE, yourGameEventHandler);

}

Если вы никогда раньше не использовали пользовательские события, перейдите по этой ссылке (или погуглите, чтобы узнать больше)

http://www.adobe.com/devnet/flash/articles/creating_events.html

В качестве отказа от ответственности это быстрый способ получить данные в ваш основной класс. Лично я не большой поклонник передачи данных в событиях. Я бы предпочел запустить пустое событие и получить данные из свойств объекта запуска)... но это просто личное предпочтение.

person James Hay    schedule 18.04.2009

Вы можете использовать класс LocalConnection.

person Kenny Phan    schedule 26.03.2010