所以这种关于我的其他 OpenGL 问题的主题(不是我的 OpenGL ES 问题,而是 OpenGL 桌面版本)。如果有人按一个键来移动方格,你如何使方格的移动自然且不那么跳跃,而且速度与我现在的速度相同?这是我的 glutKeyboardFunc() 函数代码:
void handleKeypress(unsigned char key, int x, int y)
{
if (key == 'w')
{
for (int i = 0; i < 12; i++)
{
if (i == 1 || i == 7 || i == 10 || i == 4)
{
square[i] = square[i] + 1;
}
}
glutPostRedisplay();
}
if (key == 'd')
{
for (int i = 0; i < 12; i++)
{
if (i == 0 || i % 3 == 0)
{
square[i] = square[i] + 1;
}
}
glutPostRedisplay();
}
if (key == 's')
{
for (int i = 0; i < 12; i++)
{
if (i == 1 || i == 7 || i == 10 || i == 4)
{
square[i] = square[i] - 1;
}
}
glutPostRedisplay();
}
if (key == 'a')
{
for (int i = 0; i < 12; i++)
{
if (i == 0 || i % 3 == 0)
{
square[i] = square[i] - 1;
}
}
glutPostRedisplay();
}
}
很抱歉,如果这不太有意义,如果没有意义,我会尝试以更好的方式改写它。