Войти
Box2DФорумОбщее

Камера в box2d

#0
10:34, 30 авг. 2014

Как лучше реализовать камеру в Box2d, которая следует за объектом. Пробовал SetPosition для каждого объекта, но все начинает дергаться и спрайты начинают отставать. Почитал темы на этом форуме, ничего дельного не нашёл. (использую js версию, если что)


#1
10:52, 30 авг. 2014

Какое отношение камера имеет к Box2D? Получи позицию объекта, присвой её камере и всё, ну минимально всё.

#2
11:04, 30 авг. 2014

Да, такой ответ уже видел, но мне абсолютно не понятен) Что значит присвоить камере? Если имеется ввиду двигать только спрайты, а объекты будут уходить за пределы экрана, то не подойдет. Все же спасибо за скорый ответ.
Еще вопрос, куда по уму, должна быть направлена гравитация, у меня она положительная и все падает вниз, как надо.
Ps видел демки, где и камера за объектом следует и  зум есть.
Pss вот, например, как здесь работает камера, есть какие-то pos_x/pos_y и x/y, но не видно где используются.

#3
15:10, 30 авг. 2014

Как работает камера? Нужно понимать как работает камера в приложениях. Камера задает некое смещение относительно какой-то точки, например начала координат.
Обьекты в мире расположены в разных его частях и соответственно если они за границами экрана, то они не видны если в области экрана, то видны(их спрайты).
Если ты к каждому спрайту будешь добавлять\вычитать смещение по обеим координатам, то они начнут двигаться - это самое элементарное описание "камеры".
Можно смещать камеру на 1, можно на 100. То как смещается камера влияет на "красоту" отображения игровых обьектов.
В боксе камера какраз и задает эту красоту, но сперва разберись с тем, что я написал выше, когда поймешь, тогда и исчезнет твой вопрос.

Гравитация???? Ну как бы вниз) Я ставлю обычно b2Vec2(0.0f, 9.8f);  Это вниз. Вниз у+.

#4
15:20, 30 авг. 2014

Глянул мельком на pos_x/pos_y и x/y.  Это похоже на координаты снаряда для обработки его "камерой". Там if стоят, это и есть обработка камеры.  В коде на сайте отображена наверно часть общего кода, в ней нет использования этих переменных... Эти переменные используются при отображении, непосредственно спрайтам приплюсовываются эти смещения...

#5
15:23, 30 авг. 2014

Спасибо, как я понимаю двигать нужно только спрайты, а DrawDebugData оставить жить своей жизнью.

#6
21:28, 30 авг. 2014

Все правильно понял)

Box2DФорумОбщее

Тема в архиве.

Тема закрыта.