![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Проблема - делаю элементы интерфейса, все наследуются от UIComponent, который реализует методы left, right, top и bottom.Вопрос куда вставлять обработчик Event.RESIZE в главный класс и циклом или рескурсией обходить все элементы, или в UIComponent?
__________________
Я просто добрый шутник. |
|
|||||
|
ИМХО не с того конца оптимизируете - разница между 2-мя методами хорошо если в 0.1% будет - основная обработка будет не в вызовах а выполнении кода resize кучи других вспопогательных Flex-совых методов.
Не мудрите, вешайте обработчик в каждом компоненте, или повесте в суперклассе, если это возможно. |
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Причем тут Flex?
__________________
Я просто добрый шутник. |
|
|||||
|
Опа, я не понял, что речь про собственный gui.
Цитата:
Событие Event.RESIZE - это событие конкретного компонента, что вы там рекурсией собрались обходить. Можно поподробнее об архитектуре? Не понятно. |
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
Изобразим:
Есть базовый класс UIComponent, он объявляет методы left,top,right,bottom, в которых рассчитываются ширина и высота относительно родителя.от UIComponent наследуются все остальные классы(кнопки, скроллы, и проч.) Теперь, есть главный класс приложения Main. Соответственно: 1) я могу в Main прописать Event.RESIZE на stage и в цикле обойти всех детей, внуков, если они от UIComponenta образованы, то пересчитать их размеры. 2)повесть Event.RESIZE внутри UIComponent и пересчитывать там. Тогда в 1 варианте будет один листнер, а во втором куча.
__________________
Я просто добрый шутник. |
|
|||||
|
Все же, я бы о производительности так не пекся. Подозреваю, что вручную перебрать побыстрее - эвенты всетки не создаются, функций по меньше вызывается, но увидите ли вы эту разницу?
Бескопокоит - пробуйте 2 метода и замеряйте время Как лучше с точки зрения архитектуры? Цитата:
Если болше о том, куда положить компонент знает родитель - пусть он и расставляет и меняет размеры, а ребенок - только не допускает установки некорректных Короче как удобней, так и делайте |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|