| PMG http://forum.pmg.org.ru/ |
|
| Создание Редактора карт. http://forum.pmg.org.ru/viewtopic.php?f=1&t=333 |
Страница 1 из 1 |
| Автор: | Shisholik [ 09 мар 2006 14:11 ] |
| Заголовок сообщения: | Создание Редактора карт. |
Доброго времени суток. Я делаю собственную игру на OGL. Я хочу сделать редактор карт и сам файл карт. Так как игра будет на подобии GTA:SA(Mafia) мне надо будет как-то указывать кординаты для каждого объекта, как это сделать? |
|
| Автор: | MagicWolf [ 10 мар 2006 10:06 ] |
| Заголовок сообщения: | |
А в чем проблема? Позиционируешь курсор на карте и запоминаешь координаты. Можно вводить или поправить координаты в ручную. |
|
| Автор: | Shisholik [ 10 мар 2006 20:50 ] |
| Заголовок сообщения: | |
Я имею в виду что если я буду поворачивать объект у меня будут большие глюки. Переносить без глюков научился |
|
| Автор: | Woland [ 12 мар 2006 23:13 ] |
| Заголовок сообщения: | |
Хм-м, хочется помочь, но я не понимаю в чем проблема - в создании и функционировании редактора или сохранении координат объекта? А координаты для объекта можно задать 6-ю пременными: x, y, z, и три угла поворота относительно осей Ox, Oy, Oz... |
|
| Автор: | MagicWolf [ 13 мар 2006 09:58 ] |
| Заголовок сообщения: | |
Я тоже не понял.
|
|
| Автор: | NetLib [ 13 мар 2006 19:20 ] |
| Заголовок сообщения: | |
Непонятно какие глюки возникают при повороте объекта - это ведь элементарная операция умножения матриц. Разве что матрицы неправильные. |
|
| Автор: | Shisholik [ 14 мар 2006 13:38 ] |
| Заголовок сообщения: | |
Если я поворачиваю один объект автоматически поворачиваются и другие. |
|
| Автор: | MagicWolf [ 14 мар 2006 16:24 ] |
| Заголовок сообщения: | |
Э, понял. Надо пользоваться glPushMatrix/glPopMatrix. Код: glRotatef(angle[1],0.0,1.0,0.0);
polygons_draw.init(&cfg_polygons,count_points[0],points_polygons[0]); glPushMatrix(); glScalef(5.0,0.1,5.0); polygons_draw.draw(); glPopMatrix(); polygons_draw.init(&cfg_polygons,count_points[1],points_polygons[1]); glPushMatrix(); glTranslatef(-2.0,3.0,pos[1]); glRotatef(angle[1],1.0,0.0,0.0); glPushMatrix(); glScalef(0.1,0.8,0.8); polygons_draw.draw(); glPopMatrix(); polygons_draw.init(&cfg_polygons,count_points[4],points_polygons[4]); glTranslatef(-4.0,0.0,0.0); glRotatef(angle[4],0.0,1.0,0.0); glPushMatrix(); glScalef(0.8,0.1,0.8); polygons_draw.draw(); glPopMatrix(); glPopMatrix(); polygons_draw.init(&cfg_polygons,count_points[2],points_polygons[2]); glPushMatrix(); glTranslatef(2.0,3.0,pos[2]); glRotatef(angle[2],1.0,0.0,0.0); glPushMatrix(); glScalef(0.1,0.8,0.8); polygons_draw.draw(); glPopMatrix(); polygons_draw.init(&cfg_polygons,count_points[3],points_polygons[3]); glTranslatef(4.0,0.0,0.0); glRotatef(angle[3],0.0,1.0,0.0); glPushMatrix(); glScalef(0.8,0.1,0.8); polygons_draw.draw(); glPopMatrix(); glPopMatrix(); |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|