Анимация и движение объектов в C++ (+glut)
|
|
Bazilik_xD | Дата: Среда, 27 Февраля 2013, 15:09 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| вот например есть четырехугольник, как заставить его двигаться? (желательно чтобы он реагировал на нажатие кнопки с клавиатуры)
|
|
| |
Snuux | Дата: Четверг, 07 Марта 2013, 16:19 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Нужно изменять значения вертексов. gl_Begin(SQUARE); glVertex3f(x1, y1, z1); glVertex3f(x2, y2, z2); glVertex3f(x3, y3, z3); glVertex3f(x4, y4, z4); glEnd;
Сейчас уже чуть подзабыл, так что может быть не точно. А все координаты в логике программы обновлять (в зависимости от того куда должен двигаться квадрат).
x += 10 - сдвигает вправо на 10... и пр.
Чтобы это все видеть, можно воспользоваться таймером glut'а: glutTimerFunc(timer1); //где функция таймера принимает указатель на функцию с выполнением изменения координат.
Как то так. Правда если вам даже это сложно (что требуется спрашивать на форуме), то советую подучить OpenGL, или воспользоваться более простыми движками... Из книг советую: Red Book (русская версия). Прям если вобъете в поиск, то вторая или третья ссылка будет на .pdf файл с книгой. Удачи)
|
|
| |
Archido | Дата: Четверг, 07 Марта 2013, 16:52 | Сообщение # 3 |
Сэнсэй
Сейчас нет на сайте
| Перед отрисовкой квада вызывать glTranslatef (x, y, 0), x, y - координаты, куда нужно переместить квад. А вообще надо курить уроки, такие например.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |