Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Создание приложения одновременно для AIR и Flash Player 9 (http://www.flasher.ru/forum/showthread.php?t=116410)

vvk80 30.09.2008 00:36

Создание приложения одновременно для AIR и Flash Player 9
 
Всем доброго времени суток!

Честно признаюсь, задолбался... Нужно сделать так, чтобы приложение работало одновременно на AIR и в онлайне на Flash Player 9...

Сделал через
Код:

try
{
 if (stage.nativeWindow != null)
{
//air content goes here
}

}
catch (e:ReferenceError)
{
//non AIR content goes here
}

После танцев с бубном и отключения strict mode в компиляторе все заработало...

Но я пошел дальше... создал класс открытия нового окна, отнаследовал его от NativeWindow и все ... попа... обычный (не AIR) компилятор падает, говоря, что не находит
Код:

VerifyError: Error #1014: Class flash.display::NativeWindow could not be found.
Нужна помощь!!!!!

Заранее спасибо!
P.S.
классы AIR в сlasspath добавлены
Код:

$(AppConfig)/ActionScript 3.0 AIR 1.0/Classes

etc 30.09.2008 02:50

Я думаю, что часть логики надо делать отдельными swf и загружать соответствующую версию в зависимости от окружения.

vvk80 30.09.2008 12:02

да, такое решение подошло... спасибо за идею... но неужто нельзя просто в компиляторе отключить эту фигню, т.е полностью отключить проверку или как это там называется... ведь stage.nativeWindow копилятор глотает??? и почему же класс NativeWindow он отказывается глотать???

etc 30.09.2008 12:22

Вероятно, потому что nativeWindow находится в try … catch.

vvk80 30.09.2008 14:21

так у меня и вызов моего класса отнаследованого от NativeWindow тоже в try... catch...

пока выкрутился следущим образом: выделил всю общую функциональность в один базовый класс, отнаследовал от него AIR класс и NONAIR, переопределив в каждом из них метод вызывающий мой NativeWindow класс...

Не удобно, что два swf... а так дублирование кода сведено к минимуму (если не учитывать, что, если бы компилятор это съел, то тогда все было бы в одном файле и создавалось бы на лету без добавления еще одной swf и траты памятти, а если еще вспонмить, что, чтобы у загруженной swf прошел unload, надо долго танцевать с бубном... ...

слышал,что у 10 player будет unloadMovie - это существенно поможет в этом случае...


Часовой пояс GMT +4, время: 17:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.