PDA

Просмотр полной версии : FlashDevelop и ExternalInterface


Chum
22.03.2013, 16:15
Тема наверно старая и известная, но я гуглил и ничего вразумительного для себя не нашёл.
Bo FlashDevelop пробую запустить работу класса ExternalInterface.
При компиляции в output выскакивает:
[Fault] exception, information=Error: Error #2067: ExternalInterface не доступен в этом контейнере. Для работы ExternalInterface требуется Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 (или более высокой версии) или другой браузер, который поддерживает NPRuntime.
Я в таких вещах не очень, подскажите плиз что и как надо подключить.

AlexLucas
22.03.2013, 16:27
ExternalInterface не доступен в standalone плеере.
Запускайте в браузере.

Chum
22.03.2013, 17:12
Я недавно начал работать с FlashDevelop и по-этому плохо понимаю. В Flash CS комбинация клавиш Cntrl+Enter приводит к созданию SWF-файла. Здесь (во FlashDevelop) я нажимаю Cntrl+Enter и у меня выскакивает указанная ошибка. Есть момент непонимания, если я предположим изменил код в проекте, а потом через браузер запустил SWF-файл проекта, он что запустится уже с новыми дополнениями?

mikhailk
22.03.2013, 17:29
Ставьте проверку на доступность ExternalInterface.


if (ExternalInterface.available)
{
...
}

Chum
22.03.2013, 17:38
Ставьте проверку на доступность ExternalInterface
А что это даст? Фишка в том что он должен быть доступен и меня интересует вопрос как это можно сделать, если это возможно в принципе сделать.

mikhailk
22.03.2013, 17:49
Это даст возможность запуска под ФД без возникновения ошибки.
Непосредственно функционал, связанный с ExternalInterface, нужно тестировать из под браузера.

Chum
22.03.2013, 17:57
А, ну вот теперь картинка проясняется. И что-б уж совсем наверняка уточняю: я пишу код используя конструкцию if (ExternalInterface.available), компилирую в FD затем открываю папку bin своего проекта и запускаю SWF при помощи IE ?

mikhailk
22.03.2013, 17:58
или любого другого браузера.

Chum
22.03.2013, 18:13
Спасибо, заработало:
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
if (ExternalInterface.available) {
var spr:Sprite = new Sprite();
spr.graphics.beginFill(0xFFFF00);
spr.graphics.drawRect( 100, 100, 100, 100);
spr.graphics.endFill();
addChild(spr);
}
}

zuxul
22.03.2013, 18:20
Во FlashDevelop легко настраивается запуск и тестирование флешки в браузере.

Chum
22.03.2013, 18:27
Тоже неплохо, тоже спасибо.