![]() |
AS3: Контейнер (Sprite) со свойством style (по аналогии с DIV). Кто-либо встречал?
Здравствуйте.
Кто-нибудь встречал/использует в AS3 контейнер поведением похожий на контейнер в HTML, тость имеющий свойство style через которое можно изменить любую его характеристику? |
Например какие? width, height? background, border? Написать реализацию этих методов совсем не сложно. А вот как быть с margin-left, к примеру? Как ваш спрайт сможет себя спозиционировать относительно других? Нужен свой layout-менеджер, которому Вы будете посылать из дива события при изменении стиля, а он уже пересчитывать позиции.
Т.е. пишите свой класс-наследник Спрайта, создаете у него методы для парсинга объекта style и применения перечисленных в нем свойств (стилей). |
Мне кажется, затея тухлая
Разная модель Имею в виду прежде всего наследование свойств. В хтмл-контейнере свойства естественным образом наследуются сверху вниз. Во флеше все это придется делать ручками. Т.е., фактически, написать собственный браузер на AS3. |
Само по себе это не так страшно, ведь иерархия дисплейных объектов (а другие нас и не интересуют) присутствует, другое дело что самой стилевой модели нет во флэше, и ее - да, придется написать. Даже без layout-менеджера есть возможность запросить объект стилей у родителей и сделать необходимый пересчет; с менеджером, "держащим все в своем уме", эта задача еще реальнее. У меня есть некоторый опыт, не так давно я написал свой класс-парсер CSS для моего набора контролов, и система конечно работает, кнопочки и окна перерисовываются в рантайме при загрузке другого .css-файла, только объемы классов-клиентов CSS увеличиваются вдвое, и это при том что я не реализовывал в них каскадность стилей. Создать идеальную универсальную систему скорее всего нереально. Что-то с допустимыми ограничениями, достаточное для конкретного проекта - вполне осуществимо, только надо десять раз подумать, есть ли смысл. И с какого конца вообще лучше заходить))
Добавлено через 2 часа 2 минуты http://wolsh.narod2.ru/experience/css_for_components/ |
В принципе есть нечто похожее, но все таки упор тут больше на скининг, хотя в стилях можно задать любое свойство объекта.
|
| Часовой пояс GMT +4, время: 09:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.