Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как создавать плагины для флеш приложений (http://www.flasher.ru/forum/showthread.php?t=114116)

Niagon 18.07.2008 17:21

Как создавать плагины для флеш приложений
 
Допустим у меня есть программа на Air. Требуется к ней прикрутить плагины. Все плагины лежат в папке appStorage/modules/ и подгружаются во время выполнения программы, а так же могут изменять все что угодно в главной программе. Как сделать такую систему плагинов?

wvxvw 18.07.2008 18:14

Плагины не могут изменять все что угодно в программе, это раз =)
Ну, логично было бы создать:
1. какой-нибудь ini файл, в который плагин при инсталяции делал запись о том, что его нужно загружать.
2. создать интерфейс, который плагин обязан имплементить с методами типа init и getAccessToMyApplication. Первый, соответственно, будет вызван вашим приложением после загрузки плагина, во втором вы передадите плагину доступ к тому, что посчитаете позволеным для него. И флаг active/inactive для того, чтобы плагин знал, когда его включили/выключили, соответственно, включился, перестал работать.
3. интерфейс доступа к плагинам из приложения с возможностями типа "выбрать", "включить", "выключить", "перезагрузить" и т.п..

Т.е. предположим, у вас в приложении есть холст, на котором можно рисовать. Нужно создать плагины-кисти. Тогда логика действий следующая:
- запускаем приложение.
- читаем ини-файл.
- грузим плагины и отображаем их в библиотеке.
- когда пользователь выбирает 1 из плагинов - передаем плагину ссылку на холст и "включаем" его.
- плагин получив ссылку работает с холстом, так, как будто это его объект, а не приложения.
- когда пользователь меняет выбор - выключаем плагин.

Niagon 18.07.2008 19:23

не.. это не то, требуется чтобы плагин мог добавлять в приложение новые пункты меню, создавать окна, ставить свои кнопки на главное окно. Такая глобальная трабла...

wvxvw 18.07.2008 19:39

не вижу разницы =/ чем ЮаЙ приложения отличается от того же холста из примера?

Niagon 04.08.2008 17:48

Отличаются необходимостью определять в главном ролике возможности плагина. Нет возможности подключить плагин и не заботится о нем. Т.е минус сторонние плагины.
Впрочем, я уже нашел решение этой проблемы :)


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

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