![]() |
Flash-скинирование (загрузка растра)
Здравстуйте, начал писать игру и хотелось бы сделать для нее поддержку скинов. Нашел на форуме много тем по поводу скинирования. Понял, что лучше использовать растровую графику. В принципе мне это подходит. Подскажите пожалуйста, с какой стороны подойти к этой задаче, с чего начать? Нужно писать какой-то масс-прелоадер с массивом адресов картинок, по окончании загрузки отрисовывать каждую картинку в Bitmap, назначать ее какому-нибудь классу, чистить loader и грузить следующую?
Как вы делаете? Может есть уже готовые мультилоадеры? Заранее спасибо :) |
я делал немного по другому..
грузил 1 файл со всей нужной графикой и ХМЛ с координатами и размерами нужных мне элементов в этом графическом файле.. затем просто дербанил этот файл на кусочки Код AS3:
|
Даже так?! О_о
Круто конечно, но по-моему... не гибко что ли... Нужно нам, допустим 1 иконку подправить, контраст там или блюр наложить, это всю эту штуку надо в редактор сувать, всякие доп. действия делать. Но тоже вариант. |
Я картинки храню в .swf и оттуда эмбежу.
|
скины в swf - очень универсально
|
В смысле эмбежу? Метатегом EMBED? В этом случае для смены скина придется перекомпилировать игру...
А если делать всю графику через linkage в swf-файле, а потом грузить эту 1 swf, как общую либу, и все просто парсить на классы. Код AS3:
|
Лучше описывать скины посредством css.
|
Можно пример или ссылку, пожалуйста?
|
Вы про Flex Skin Design Extensions? Как без него можно, тоже очень интересно.
|
Ну вообще я имел ввиду скинование во Flash и желательно, собственными силами.
|
Мой пост _etc'у адресован ).
|
А... Понятно :)
Ну я так, чтоб от темы не отклоняться напомнил о чем собственно речь))))) |
Цитата:
|
2 __etc
Предлагаете декомпилить DESTINY? ))) Ненене... Это же не наши методы! Лучше пример, если не трудно. Я так понимаю, вышеупомянутый способ с CSS - для Flash (не Flex)? Кстати, вот еще тут вопрос возник: Ну разобрали мы все по классам. И тут нам нужно создать собственно эту загруженную кнопку в определенном месте экрана. Нам вручную нужно прописывать координаты. Это не очень удобно. Можно же расставить в "скелете" игры какие-нить "пустышки" в тех местах, где должны быть наши динамически созданные объекты, далее создаем нашу кнопку с координатами и размерами той самой "пустышки", после чего пустышку... уничтожаем. Можно так сделать или есть способ полегче? |
marat_sa, да клиент скачать можно, вся мысль там прямо в xml с css.
Правда, решение нетривиальное, но как вариант. |
так речь о методе подключения скинов или о методе их хранения? (:
|
Речь идет и о том и о другом, собственно в целом о скиновании. Но я чувствую, что за этим скрывается великая тайна мирового масштаба %\
__etc, форум предназначен для рекламирования модераторами собственного продукта или для помощи участникам в решении их проблем? ;) P.S.: Вот уж действительно на американском форуме отвечают на поставленные вопросы, на еврейском отвечают вопросом на вопрос, а на русском назовут нубом или некропостером или отправят читать доки (может неточно, но суть вроде передал) - простите за флуд... |
Описывать словами долго. В кратце: все параметры скинов задаются в CSS, там же указывается url либы с графикой и имена классов-ассетов. Т. е. нужно написать движок, который парсит этот css, загружает либы и распихивает графику по углам.
|
А, ну то есть самописный, понятненько)) Спасибо
Вот еще насчет >распихивает графику по углам - координаты прописываются чтоли? |
Необязательно. Скин можно условно поделить на таблицу (матрицу) из ячеек. Столбец или строка или расстягиваются или нет. Эти ячейки и заполняются графикой, где-то текстурой, где-то просто одним куском. Т. е. достаточно задать ширину и высоту скина, размеры матрицы скина и столбцы со строками, который должны при измении размеров расстягиваться и изменять размеры графики внутри своих ячеек.
Скажем, для текстового поля будет матрица 3 x 3 и три разных графических элемента — левый верхний угол, верхняя и центральная часть, остальные части получаются путем отражения или текстурирования первых трех. Первый столбец и строка матрицы расстягиваются (считаем от 0), т. е. графика идет текстурой. Ну как-то так. Если сверху этого навесить всяких плюшек, то можно заскиновать всё что угодно и как угодно. |
т.е. это созданный вами набор правил и парсер, который читает описания по этим правилам ?
а причем здесь тогда css ? |
silin, при том, что правила скинования и описаны в css :)
Размеры матрицы, столбцы-строки, элементы — всё там. |
извиняюсь, если невпопад, но ведь это к штмл-ным таблицам не имеет же отношения?
почему css, а не просто xml |
А как же разделение представления от содержания? XML описывает структуру интерфейса, а css — графическое представление этого интерфейса.
Ну, т. е. что-то типа html + css, только во флеше. |
ага,
хотя я так и не понял ( не в теме совсем) систему скинования не удобнее тоже в хмл держать? в чем кайф css, если его парсить вручную нужно или это только терминология, а на самом деле хмл и есть? |
В том, что руками удобее править css, чем xml? :)
|
AL.exe, реюзинг в разных xml.
|
Гр-н Силин выразил мои мысли относительно ТАКОГО использования CSS в проекте. Не могу понять, зачем выносить описание скинов из XML. Еще можно добавить, что XML льётся хоть через RPC\SOAP\Remoting и легко прикручивается к различным скриптам для поддержки через CMS. А с CSS? Могут архитектора за такое решение и к ответу призвать. Ну, или каждый раз переспрашивать, почему мы через такое место скины представляем... Бедняга-архитект устанет отругиваться и посылать каждый раз новых людей на корпоративный ВИКИ.
|
| Часовой пояс GMT +4, время: 21:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.