Я делаю простую 2D игру в пинг - понг.Теперь мне нужно визуализировать как игроков (две линии, одна вверху экрана и одна внизу), так и мяч.Однако я не знаю, почему мяч просто не визуализируется ... Вот часть кода.
void displayScene()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0, 0, 0);
glLineWidth(33);
glBegin(GL_LINES);
glColor3f(0, 1, 0);
glVertex2i(topPlayer->getLeftX(), topPlayer->getLeftY());
glVertex2i(topPlayer->getRightX(), topPlayer->getRightY());
glColor3f(1, 0, 0);
glVertex2i(bottomPlayer->getLeftX(), bottomPlayer->getLeftY());
glVertex2i(bottomPlayer->getRightX(), bottomPlayer->getRightY());
glEnd();
if (ball)
{
glPointSize(50);
glColor3f( 0.0f, 0.0f, 0.0f );
glBegin(GL_POINT);
glColor3f(1, 0, 0);
glVertex2i(ball->getX(), ball->getY());
ball->moveBall();
glEnd();
}
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(1920, 1080);
glutCreateWindow("Ping - Pong");
glClearColor(1.0, 1.0, 1.0, 1.0);
glOrtho(0, 1920, 1080, 0, -1, 1);
topPlayer->setLeftY(1);
topPlayer->setRightY(1);
bottomPlayer->setLeftY(1920 - 1);
bottomPlayer->setRightY(1080 - 1);
glutDisplayFunc(displayScene);
glutMainLoop();
return 0;
}
PS: ball->moveBall();
просто меняет шар x
и y
.Поскольку отладка бизнес-логики кажется хорошей, а координаты x, y меняются так, как они должны.Однако проблема заключается в визуализации шара.
PS PS: я знаю, что glBegin устарела, но я должен использовать устаревший код.