Как вызвать функции actionscript внутри SWF-файла, загруженного в swfLoader моего flex-приложения? - PullRequest
2 голосов
/ 18 ноября 2010

У меня есть файл swf sample.swf, у которого есть класс actionscript в Main.as. Этот Main.as имеет различные объекты, объявленные как публичные. Например, давайте рассмотрим объект myData класса MyData (в MyData.as).

Я загружаю этот SWF-файл в свое приложение AIR с помощью swfLoader. Я хочу знать, как получить доступ к myData.func () с помощью swfLoader.loaderInfo.content.

Заранее спасибо ...:)

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

в вашем обработчике инициализации, это должно быть что-то вроде:

function myLoadHandler( e:Event )
{
    MyData( e.target.content.myDataInstance ).func();
}

, где myLoadHandler - обработчик события Event.INIT (COMPLETE запускается, когда загружены все байты,INIT запускается после инициализации SWF, и его члены доступны), а myDataInstance является публичной ссылкой на ваш экземпляр MyData внутри вашего дочернего SWF.

0 голосов
/ 18 ноября 2010

Я делал это раньше. Я не могу вспомнить точный путь к данным, но способ выяснить это с помощью отладчика в flex. Добавьте событие Event.Complete для загрузчика и добавьте точку останова внутри всей функции, которую вы вызываете. Затем добавьте swfLoader.loaderInfo.content в список отслеживания выражений и начните детализацию, чтобы найти то, что вы ищете. Запишите путь и попробуйте вызвать его в тестовой функции.

...