Фильм AS2 внутри фильма AS3 не может получить доступ к flashvars ... или любым родительским переменным фильмам - PullRequest
0 голосов
/ 02 марта 2011

Не мой код, пытаюсь исправить его в 11 час.

Попытка получить доступ к flashvars из старого фильма AS2, загруженного в фильм AS3

В фильме AS3 используется com.gskinner.utils.SWFBridgeAS3 для совместимости с AS2.

Flashvars, определенные в html-файле, недоступны в фильме AS2.Не так, как «просто переменные» (старый метод flashvars AS2), ни как

stage.loaderinfo.parameters 

, который AS3 обеспечит.

Кажется, что ничего не работает, даже доступ к любой переменной, определенной в родительском фильме AS3.

Итак, в фильме AS3:

var myvar = 5;

в фильме AS2:

trace(myvar); => undefined
trace(parent.myvar); => undefined

Как обойти это?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Используя информацию, доступную на сайте SWFBridge, вы должны сделать следующее:

// in the AS2 SWF:
var myBridge:SWFBridgeAS2 = new SWFBridgeAS2("123456", clientObj);


// in the AS3 SWF:
var myBridge:SWFBridgeAS3 = new SWFBridgeAS3("123456", clientObj);

Идентификатор 123456 может быть любым уникальным идентификатором, который вы хотели бы использовать.

Затем в версии AS3:

var myvar = 5;
myBridge.send("updateVar", myvar);

В версии AS2 используйте следующий метод:

function updateVar(var) {
    trace(var); // will output 5
}

Ссылка: http://gskinner.com/blog/archives/2007/07/swfbridge_easie.html

0 голосов
/ 02 марта 2011

Если у вас есть рабочее соединение с фильмом as2 через SWFBridge, просто пропустите через него эти flashvars.

...