C ++ OpenGL 2D — сдвиг камеры при движении игрока

Я пытаюсь добиться такого эффекта:
https://www.youtube.com/watch?v=HuARqqMuHE8

По рамочным обновлениям у меня есть:

        glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(left, right, bottom, top); //Window dimensions: 800x600
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Какие значения мне нужно ввести слева, справа, снизу, сверху, чтобы добиться эффекта в видео выше?

0

Решение

В зависимости от того, где вы хотите разместить камеру относительно корабля, будут определены верхняя и левая позиции. Я знаю, что есть некоторые странные вещи, которые происходят с системами координат в OpenGL, но это должно работать:

Это будет все время размещать корабль в центре экрана:

left = shipPos.x - (screenWidth/2.0); // in your case this would be x - 400
top = shipPos.y - (screenHeigh/2.0); // and this would be y - 300
right = left + screenWidth;
bottom = top + screenHeight;
0

Другие решения


По вопросам рекламы [email protected]