我正在为iPhone编写一个OpenGL游戏,并且这个代码每秒被调用24次,意味着更新视图:
[gameWorld update];
glColor3f(1.0f, 0.85f, 0.35f);
glBegin(GL_QUADS); {
glVertex3f(gameWorld.player.x, gameWorld.player.y, 0);
glVertex3f(gameWorld.player.x+10, gameWorld.player.y, 0);
glVertex3f(gameWorld.player.x+10, gameWorld.player.y+20, 0);
glVertex3f(gameWorld.player.x, gameWorld.player.y+20, 0);
}
glEnd();
[gameWorld update]根据按下的键调用改变gameWorld.player.x所需的代码(这是有效的)。我的问题是,在glBegin()块之后,屏幕上绘制的黄色矩形不会移动。有什么想法吗?
答案 0 :(得分:2)
OpenGL ES 1.1不支持glBegin()/ glEnd()。
您可能需要查看this post,其中介绍了如何执行类似的操作。基本上,绘制三角形:
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, triVertices);
glDrawArrays(GL_TRIANGLES, 0, 3);