这与我之前的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();
}
}
如果这不太清楚,对不起。如果不理解,我会尝试以更好的方式重新表达。