我创建了一个沿 z 轴移动多个立方体的函数。我可以让所有立方体一次移动并重复,但我试图让每个单独的立方体独立于另一个移动。我的 z 轴功能是:
void moveCubes()
{
cubeZ += 0.050f;
if(cubeZ > 120)
cubeZ -= 110.0f;
glutPostRedisplay();
}
显示功能为:
void myDisplay()
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
for(int i = 0; i < maxCubes; i++)
{
glLoadIdentity();
glTranslatef(0.0f, 0.0f, -110);
glTranslatef(cubeOrigins[i].x, cubeOrigins[i].y, cubeZ);
glRotatef(rotateAxis, cubeOrigins[i].rotateX, cubeOrigins[i].rotateY, 0.0f);
drawCubes();
}
moveCubes();
glutSwapBuffers();
}
cubeZ 在我的代码顶部定义,是:
GLfloat cubeZ = 0.0;
cubeOrigins[i].x 和 .y 是生成的 rands()。如果需要,我可以添加更多代码,但我相信这是重要的部分。我希望有人能告诉我我需要做什么。坦率地说,它变得非常令人沮丧。我很感激任何帮助。