![]() |
Как создавать плагины для флеш приложений
Допустим у меня есть программа на Air. Требуется к ней прикрутить плагины. Все плагины лежат в папке appStorage/modules/ и подгружаются во время выполнения программы, а так же могут изменять все что угодно в главной программе. Как сделать такую систему плагинов?
|
Плагины не могут изменять все что угодно в программе, это раз =)
Ну, логично было бы создать: 1. какой-нибудь ini файл, в который плагин при инсталяции делал запись о том, что его нужно загружать. 2. создать интерфейс, который плагин обязан имплементить с методами типа init и getAccessToMyApplication. Первый, соответственно, будет вызван вашим приложением после загрузки плагина, во втором вы передадите плагину доступ к тому, что посчитаете позволеным для него. И флаг active/inactive для того, чтобы плагин знал, когда его включили/выключили, соответственно, включился, перестал работать. 3. интерфейс доступа к плагинам из приложения с возможностями типа "выбрать", "включить", "выключить", "перезагрузить" и т.п.. Т.е. предположим, у вас в приложении есть холст, на котором можно рисовать. Нужно создать плагины-кисти. Тогда логика действий следующая: - запускаем приложение. - читаем ини-файл. - грузим плагины и отображаем их в библиотеке. - когда пользователь выбирает 1 из плагинов - передаем плагину ссылку на холст и "включаем" его. - плагин получив ссылку работает с холстом, так, как будто это его объект, а не приложения. - когда пользователь меняет выбор - выключаем плагин. |
не.. это не то, требуется чтобы плагин мог добавлять в приложение новые пункты меню, создавать окна, ставить свои кнопки на главное окно. Такая глобальная трабла...
|
не вижу разницы =/ чем ЮаЙ приложения отличается от того же холста из примера?
|
Отличаются необходимостью определять в главном ролике возможности плагина. Нет возможности подключить плагин и не заботится о нем. Т.е минус сторонние плагины.
Впрочем, я уже нашел решение этой проблемы :) |
| Часовой пояс GMT +4, время: 12:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.