Четверг, 28 Марта 2024, 23:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Java » Рисование тела box2D(java) через LWJGL. (Объясните как это работает.)
Рисование тела box2D(java) через LWJGL.
last2424Дата: Суббота, 20 Декабря 2014, 09:09 | Сообщение # 1
30 мл. блоков
Сейчас нет на сайте
Здрасте. Есть такая вот проблемка.

Более менее разобрал уроки вот этого человека.

В уроке 31, где он рассказывает про jbox2D и рисование тел в LWJGL.

Посмотрел весь урок, понял то что смог, но вот на счёт следующего кусочка кода так и не разобрался.

PolygonShape.setAsBox(hx, hy);

Не понял, что за такие hx, hy. Из-за этого трудности с рисованием.

Вот пример кода как я рисую квадрат:
Код
    glBegin(GL_QUADS); //запускаю рисование квадрата
     glColor3f(1.0f, 0, 0); //задаю цвет квадрата
     glVertex2f(-hx*30, -hy*30); //вершина
     glVertex2f(-hx*30+32, -hy*30);//2 вершина
     glVertex2f(-hx*30+32, -hy*30+32);//3 вершина
     glVertex2f(-hx*30, -hy*30+32);//4 вершина, ну у квадрата ведь 4 вершины
     glEnd();

Но он рисует не только не там где находится тело, а где то правее, левее, а может вообще в другом углу дисплея это сделать.
Кто знает как можно правильно рисовать их?

Те кто работает на LibGDX жду ваших ответов тоже, ведь наши средства не отличаются, в вашем движке тоже LWJGL и box2d используется.

Добавлено (20 декабря 2014, 09:09)
---------------------------------------------
UP!


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Суббота, 20 Декабря 2014, 09:33
EgoorДата: Суббота, 20 Декабря 2014, 11:00 | Сообщение # 2
участник
Сейчас нет на сайте
hx и hy - скорее всего некий коэффициент, который преобразует экранные координаты в координаты box2D, да и вообще графики, если я правильно выражаюсь. Для Box2D очень часто создают свою координатную систему, в которой вьюпорт будет, например, 5x5 и преобразуют при отрисовке в экранную.
last2424Дата: Суббота, 20 Декабря 2014, 13:20 | Сообщение # 3
30 мл. блоков
Сейчас нет на сайте
Egoor, решил загуглить, было написано что у swing, hx, hy это ширина и высота, значит это ширина и высота тела, но всё же, причём тут десятичные и рисование?
Но всё же, есть ещё одна причина по которой можно считать что это не ширина и высота, ведь когда например поставишь 16, то он полетит куда то вверх.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Суббота, 20 Декабря 2014, 13:24
yavlДата: Суббота, 20 Декабря 2014, 15:15 | Сообщение # 4
частый гость
Сейчас нет на сайте
Цитата last2424 ()
PolygonShape.setAsBox(hx, hy);
Не понял, что за такие hx, hy. Из-за этого трудности с рисованием.

половина высоты и ширины, т.е что-то типа радиуса

Цитата last2424 ()
hx, hy это ширина и высота, значит это ширина и высота тела, но всё же, причём тут десятичные и рисование?

в Box2D размер не в пикселях, а в метрах, н-р 20 сантиметров это "0,20f", поэтому число должно быть десятичное.


Сообщение отредактировал yavl - Суббота, 20 Декабря 2014, 15:19
last2424Дата: Суббота, 20 Декабря 2014, 19:01 | Сообщение # 5
30 мл. блоков
Сейчас нет на сайте
yavl, тогда сколько bsm(box2d сантиметров) будет в 1 пикселе, примерно, раз знаете как это работает, думаю вам не сложно будет определить(эту информацию очень нужно узнать, что бы составить себе хороший способ вычисления всего этого)?

Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
EgoorДата: Суббота, 20 Декабря 2014, 20:11 | Сообщение # 6
участник
Сейчас нет на сайте
last2424,
Код
-hx*30, -hy*30

Я так понимаю 30, здесь координата в пикселях. Не забывайте еще, что hx и hy с минусом.
last2424Дата: Суббота, 20 Декабря 2014, 20:15 | Сообщение # 7
30 мл. блоков
Сейчас нет на сайте
yavl, тогда сколько bsm(box2d сантиметров) будет в 1 пикселе, примерно, раз знаете как это работает, думаю вам не сложно будет определить(эту информацию очень нужно узнать, что бы составить себе хороший способ вычисления всего этого)?

P.S. лагануло.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)

Сообщение отредактировал last2424 - Суббота, 20 Декабря 2014, 20:16
Форум игроделов » Программирование » Java » Рисование тела box2D(java) через LWJGL. (Объясните как это работает.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг