Получить значение переменной из flash - PullRequest
3 голосов
/ 13 июня 2011

У меня есть объект AxShockwaveFlash в приложении Windows Forms, и я загружаю в него фильм (AS3) с помощью LoadMovie.Фильм воспроизводится правильно, но у меня проблема с получением переменной из flash.

Я пытался использовать GetVariable, но он всегда возвращает пустую строку.Как я могу получить значение переменной из flash?

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Я думаю, что новая политика безопасности для AVM2 требует, чтобы вы явным образом представляли переменные / функции для приложения-контейнера, используя ExternalInterface.

Если вы не можете редактировать swf, я не могу придумать способчтобы получить к ним доступ.Это было действительно легко с AS2, хотя, если вы определили его, вы можете получить и установить его через javascript / C # / что угодно без какого-либо дополнительного кода в swf.

0 голосов
/ 13 июня 2011

Йо может использовать метод fscommand для общения с C # из Shockwave-плеера:

fscommand("sendCmd", arg);

, чтобы поймать значение в C #, использовать

flashPlayer.FSCommand += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(flashPlayer_FSCommand);
....
void flashPlayer_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
{
    tbOut.Text += e.command + " (" + e.args + ")" + "\r\n";
}
...