![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2011
Сообщений: 22
|
Делаю игру на box2d, вот локация увеличилась и встал вопрос как же двигать сцену так чтобы было видно объекты за ее пределами?
Какие вообще есть варианты? И какой по вашему мнению, наиболее оптимален в плане производительности? |
|
|||||
|
__________________
http://www.chessmax.ru |
|
|||||
|
Держать сцену в уме и рисовать только то что хочет юзер.
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! |
|
|||||
|
Banned
Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
У меня есть фоновая битмапка, размеры которой просчитываются каждый раз при изменении размеров сцены так, чтобы она была в полтора раза шире и выше сцены. При смещении контейнера с этой битмапкой происходит расчет того, на сколько колонок (они равны ширине отдельного куска карты) сместилась карта, и недостающие куски врисовываются (через BitmapData#copyPixels()), а ненужные наоборот перекрываются. При этом и сама битмапка смещается на ширину недостающих колонок в противоположную сторону. Таким образом, при относительно небольшом размере экранной битмапки, в нее можно врисовывать карту любых размеров, даже если они превыщают допустимые для одной битмап даты.
А сами куски, заранее нарезанной карты, хранятся в двухмерном векторе Алгоритм сложный, поэтому выкладывать не буду, но работает отлично. Не тормозит даже на относительно слабых компах, при довольно больших размерах карты. Так что советую подумать над чем-то подобным. п.с. бокс2д сюда вообще ни коим боком не относится. Последний раз редактировалось goodguy; 29.09.2011 в 07:39. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|