Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Геометрия вращения   Найти похожие ветки 

 
ПсихЪ ©   (2003-09-08 11:54) [0]

Я сейчас пишу, 2D-шутер с видом сверху. Фишка в том, что я хочу поместить глав.героя немного пониже центра и зафиксировать, а когда он поворачиается в ту или иную сторону, то вращать не его, а сам уровень. Как просчитать координаты объектов (в том числе тайлов) при заданном центре вращения (глав.герой) и углом вращения (угол поворота глав.героя)?
Буду признателен любой помощи по этому вопросу!


 
pasha_676 ©   (2003-09-08 12:44) [1]

Ну так есть же матрицы. Для 2Д кстати ты формулы на бумажке можеш вывести. Получиться. Синус косинус и все такое....


 
Sapersky ©   (2003-09-08 12:51) [2]

А будет ли это приятно игроку - когда перед глазами всё постоянно крутится вправо-влево? 3D - другое дело, там вид естественный, что ли...
Ну если уж так надо - то лучше, ИМХО, через 3D-графику это реализовать. Потому как постоянно поворачивать все видимые тайлы - это медленно, наверное. А хранить копии во всех ракурсах - много памяти нужно.


 
марсианин   (2003-09-08 23:20) [3]

на ОпенГЛ я писал бы так

glPushMatrix;
 
 glTranslate(...)
 glRotate(...) //поворачиваешь и сдвигаешь уровень
  //проседура рисования уровня здесь

glPopMatrix

//рисуешь героя


примерно так
ОпенГл можно использовать и для 2D построений

но тогда тайлы придется делать полигонами с текстурами.. много ресурсов будет жрать и не такой шустрой будет как спрайтовые геймы.. хотя почему бы и нет?



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-1077717396
Saturn
2004-02-25 16:56
2004.03.28
Отношение к Библии и к религиям вобще!


7-1072549718
Nick_Omsk
2003-12-27 21:28
2004.03.28
USB в Delphi


6-1073871867
iWorm
2004-01-12 04:44
2004.03.28
Учет количества переданных байт


6-1073819730
PInokio
2004-01-11 14:15
2004.03.28
Цикл для ClientSocket plz Help


7-1072795246
gavrila
2003-12-30 17:40
2004.03.28
как отследить события Com-порта, если он занят другим приложением