Как передать переменную From .swf File в .as файл? - PullRequest
2 голосов
/ 01 ноября 2011

У меня есть основной файл в формате .as, и я загружаю файл .swf в свой файл .as. Он работает нормально. Теперь я хочу взять переменную take From .swf и передать ее в .as.Как я могу это сделать?пожалуйста.Помогите!Моя .swf кодировка файла

function formatMessage(chatData:Object)
{
var number:uint = chatData.user;
trace(chatData.user);
}
private function addText()
    {
_loader = new Loader();
_loader.x=10;
_loader.y=200;
_loader.load(new URLRequest("receive.swf"));//Here i Can Load the Swf.Here how Can i acces  the Variable of number ?
 addChild(_loader);
    }

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

Первое, что нужно иметь в виду, это то, что это не будет работать во всех версиях ActionScript VM. Это означает, что только AVM2 и AVM2 могут осуществлять связь (это возможно между AVM1, но требует большей изобретательности).

Добавить прослушиватель события завершения в свойство _loader.contentLoaderInfo с именем onLoad

_loader.x=10;
_loader.y=200;
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoad);

Теперь с помощью функции onLoad нужно будет извлечь загруженный контент и немного кастинга.

function onLoad(evt:Event):void {
    var target:DisplayObject = LoaderInfo(evt.target).content as DisplayObject; // cast as DisplayObject
    trace("readMe = ", target["your_variable"]); // trace output "your_variable"
}

Существуют более чистые формы выполнения этого, но это позволит вам извлечь значение из вложенного SWF.

0 голосов
/ 01 ноября 2011

DisplayObjectContainer (_loader.content) .getChildByName ("someName");

переменная someName должна быть публичной, объявленной в основной временной шкале или в главном файле.

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