Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.02.2012, 01:08
Blood_kitsune вне форума Посмотреть профиль Отправить личное сообщение для Blood_kitsune Найти все сообщения от Blood_kitsune
  № 1  
Ответить с цитированием
Blood_kitsune

Регистрация: Dec 2011
Сообщений: 4
По умолчанию Динамическая загрузка классов

Добрый день.

Появилась такая потребность, вообщем опишу задачу:
есть - главная флешка, есть XML фаил и есть некие другие компоненты(флеш).
надо - необходимо чтобы главная флешка читая XML фаил подгружала те компоненты что там перечислены.
в чём вопрос - компоненты для загрузки по сути можно представить некими расширениями функционала главной флешки, их может быть вообще очень много, а при определённом запуске надо будет только несколько(XML меняется). я представляю себе сейчас каждый компонент как отдельный класс(содержит код) который надо подгрузить и запустить в главной системе. правильное ли я решил делать компоненты отдельными классами(именно классами) и главное как их так динамически загружать то мне?

Подскажите плиз в решении этой проблемы или подскажите правильный подход к реализации таких частей систем.

Старый 13.02.2012, 01:50
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Ну одна флэшка - один класс, наверно все-таки жестковато.

ApplicationDomain.getDefinition
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 13.02.2012, 11:59
Blood_kitsune вне форума Посмотреть профиль Отправить личное сообщение для Blood_kitsune Найти все сообщения от Blood_kitsune
  № 3  
Ответить с цитированием
Blood_kitsune

Регистрация: Dec 2011
Сообщений: 4
Спасибо за ответ=) про getDefinition я знаю. не сильно помогает. мне надо потом создавать переменные этого класса. не очень получается.

да жестковато. класс мне то нужен один а он в свои очередь подключает свои классы и т.д.

может есть альтернатива какая то этому методу?

Старый 13.02.2012, 12:59
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
может есть альтернатива какая то этому методу?
Ахах, чтобы классов, которые использует Ваш класс, в приложении НЕ БЫЛО?
Ну сами посудите.
Цитата:
не сильно помогает. мне надо потом создавать переменные этого класса. не очень получается.
Используйте интерфейсы. Стандартизируйте плагины единым интерфейсом, объявляйте тип переменных как интерфейс.
Ну или абстрактный класс плагина, и все плагины его наследуют и реализуют объявленные методы.
Соответственно этот абстрактный класс или интерфейс вкомпиливаете в основную флэшку и используете там для переменных-плагинов. Загружаете плагин, вытаскиваете конкретный класс, создаете экземпляр и инициализируете им переменную.
__________________
Reality.getBounds(this);

Старый 13.02.2012, 13:17
Blood_kitsune вне форума Посмотреть профиль Отправить личное сообщение для Blood_kitsune Найти все сообщения от Blood_kitsune
  № 5  
Ответить с цитированием
Blood_kitsune

Регистрация: Dec 2011
Сообщений: 4
Да это пожалуй будет даже лучше. А класс который будем вытаскивать надо скомпилить наверно в какой-то вид=) Понимаю наверно совсем глупый вопрос, но ответа не знаю. Не *.as же...

Старый 13.02.2012, 13:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
swf, все просто))
__________________
Reality.getBounds(this);

Старый 13.02.2012, 15:11
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вот примерчик накатал.
Проект для FlashDevelop, уж извиняйте если в другом IDE работаете, надеюсь разберетесь.
Вложения
Тип файла: zip PluginsTest.zip (16.1 Кб, 157 просмотров)
__________________
Reality.getBounds(this);

Старый 13.02.2012, 15:24
Blood_kitsune вне форума Посмотреть профиль Отправить личное сообщение для Blood_kitsune Найти все сообщения от Blood_kitsune
  № 8  
Ответить с цитированием
Blood_kitsune

Регистрация: Dec 2011
Сообщений: 4
Вот всем огромное спасибо=)

Wolsh - вообще респект огромный=) а работаю я в любом IDE

Старый 27.12.2013, 18:43
b_ear вне форума Посмотреть профиль Отправить личное сообщение для b_ear Найти все сообщения от b_ear
  № 9  
Ответить с цитированием
b_ear

Регистрация: Nov 2012
Адрес: Санкт-Петербург
Сообщений: 25
Отправить сообщение для b_ear с помощью Skype™
Возник такой вопрос, если в данном примере изменить загрузку локального SWF-файла на загрузку с удаленного сервера по адресу вида "https://space15.ru/Figures.swf" (на данный момент реально существует)
то пример не работает, загрузка файла проходит как обычно, а при использовании вылезает ошибка "класс не найден". Что при этом не хватает?
Заранее спасибо


Последний раз редактировалось b_ear; 27.12.2013 в 18:56.
Старый 27.12.2013, 19:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Обычная политика безопасности. Если space15.ru Вам не разрешали пользоваться своими ресурсами, то Вы и не будете. Если это Ваш ресурс, то добавляйте crossdomain.xml и к коду соответственно проверку.
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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