|
|
|||||
Как сделать карту правильно?
Привет всем,
у нас на проекте встала задача, нужно написать карту как в играх. Карта - это картинка, которая имеет открытые и закрытых зоны. Открываться она должна движением по ней фокуса (в данном случае экраном). Граница между открытой и закрытой частями не должна быть резкой, но и не должна быть идеально размытой формы. Должно быть похоже на дым, туман или подобное. Нужно сделать ее не тормозной, а то мы сделали фильтром Blur, а она тормозит (( Что можете посоветовать? Может быть заюзать PNG какие-нибудь? Спасибо. |
|
|||||
можно отрисовать туман в битмапу и накладывать сверху...
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
[+4 23.02.09]
|
Как ни странно, но так и делаем
Карта размера порядка 5000 на 4000, делаем сетку из битмапов по 200 на 200 и из каждого вырезаем несколько кругов (порядка 10-15) разного диаметра, разной альфы и градиента. Но если его вырезать без сглаживания, появляются артефакты, такие как полоски от квадрата вырезаемой фигуры, в которой прорисована градиентная основа. Поэтому накладываем эффект Blur на каждый такой круг, чтобы сгладить эти мелочи. Но как известно при таком подходе очень страдает проц |
|
|||||
А попробуйте отрисовать "туман" прямо на карте, а потом, когда персонаж подойдет к неразведанной области, пусть отрисовывается уже открытая область.
|
|
|||||
[+4 23.02.09]
|
не совсем понял идею Можешь немного поподробнее...
|
|
|||||
А как, насчет маски, что-то вроде несколько слоёв, с разной прозрачностью, в зависимости от удаления от центра, туман убирается, после прохождения.
Это в теории, на практике нужно смотреть, что нужно конкретно.
__________________
Книги и желание лучшие учителя. |
|
|||||
Идея следующая -
Создаем "холст", размеры которого равны размерам карты. Заливаем его цветом тумана. Разбиваем его на секторы (к примеру, как у Вас 200х200). Далее, работаем с секторами - персонаж заходит на сектор, тут вызывается функция, которая его(сектор) отрисовывает. Принцип действия функции следующий: 1. Считываем координаты и размеры сектора, в который вошел персонаж. (Класс Rectangle думаю поможет) 2. Копируем графику этого сектора с карты и отрисовываем на "холсте". |
|
|||||
А что мешает орисовать несолько кадров тумана в любом растровом редакторе? И по мере необходимости подставлять нужный кадр. В данном случае, я не вижу особой необходимости отрисовывать туман программно. Всего получится 8 видов тумана (верхний сектор, нижний, правый, левый и по диагоналям) + несколько кадров на каждый вид.
|
|
|||||
[+4 23.02.09]
|
Немного бажная, но все-таки вытащенная из проекта карта с туманом
Вот линка - http://flashformer.com/dev/map_test/map_test.html Навести на него фокус и управлять кнопками вверх, вниз, вправо и влево Вот что-то типа того надо воспроизвести, но не с таким загрузом проца |
Часовой пояс GMT +4, время: 05:56. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|