Доступ к переменным внутри встроенного SWF? - PullRequest
0 голосов
/ 15 августа 2011

Я программирую приложение AS3, которое загружает внешний SWF-файл в мувиклип на моей сцене. Мне нужно прочитать переменную внутри встроенного SWF. Я думаю, что могу, вероятно, сделать это через bgURL, но я не могу понять, как.

Как я могу прочитать переменную во встроенном SWF?

var bgLoader:Loader = new Loader();

var bgURL:URLRequest = new URLRequest("file.swf");
bgLoader.load(bgURL);
addChild(bgLoader);

1 Ответ

1 голос
/ 15 августа 2011

Это будет что-то вроде trace(MovieClip(bgLoader.content).Player.played);, но убедитесь, что вы обращаетесь к содержимому в обработчике Event.COMPLETE:

bgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,bgLoaded);
function bgLoaded(event:Event):void{ trace(MovieClip(bgLoader.content).Player.played) }

bgLoader.content возвращает DisplayObject, но вам необходимо получить доступ к своему контенту в виде мувиклипа. Для этого вы используете casting .

Предполагается, что ваш внешний SWF также AS3 (хорошая точка Teo.sk!) Этот бит: _root.Player.played выглядит как AS2. К сожалению, вы не можете получить доступ переменные формируют загруженный фильм AS2 напрямую. Тем не менее, вы можете использовать Local Connection класс для отправки переменных туда и обратно между AS2 и AS3. К счастью, Грант Скиннер написал симпатичную маленькую утилиту под названием SWFBridge чтобы сделать это проще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...