Показать сообщение отдельно
Старый 26.01.2012, 01:43
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 1  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
По умолчанию Взаимодействие swf-ребёнка с swf-родителем

Всем доброй ночи!

Дано: loader.swf и game.swf. Запускается loader.swf с одного домена и в свою очередь она грузит game.swf через Loader с другого домена и добавляет его в свой контейнер методом addChild().

Нужно: необходимо чтобы из под game.swf можно было использовать переменную (либо вызвать метод) в loader.swf. Как мне это сделать?

В loader.swf базовым классом является LoaderMain, а в game.swf - game. Я пробовал решить задачу двумя способами:

СПОСОБ 1
Из под класса game в game.swf я обращаюсь к свойству parent, то есть по сути я должен буду обратиться к классу LoaderMain в loader.swf, так как именно этот класс добавляет game.swf в контейнер (хотя с другой стороны он добавляет Loader, может глубже в parent войти?!). Я хотел добраться до переменной vkd (которая в LoaderMain) и делал так в game:

Код AS3:
var vkd:VKDConnection=parent["vkd"];
Но ничего не происходило.

СПОСОБ 2
В обеих этих swf я создал LocalConnection по вот этой статье и не получилось у меня вызвать метод.

Как мне решить данную задачу?

Если подробнее, то готовится игра для социальной сети В кругу друзей и через взаимодействие JS API получается успешно работать только с тем swf, который лежит у них на сервере (а туда мы ложим loader.swf). А так как swf с игрой грузится с нашего сервера, то она не может обращаться к JS API. Следовательно нужно из неё обращаться к loader.swf. Как это сделать?