0
我爲iPhone編程的OpenGL的遊戲,有這樣的代碼被稱爲24次第二,意味着更新視圖:使用以下代碼時,爲什麼我的OpenGL ES視圖不更新?
[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();
其中[遊戲世界更新]調用需要改變遊戲世界的代碼.player.x基於什麼鍵被按下(這工作)。我的問題是,在屏幕上繪製的黃色矩形不會在glBegin()塊之後移動。任何想法爲什麼?
這樣的作品,但現在繪製的對象不會移動。 gameWorld.player.x更改,但矩形在屏幕上的位置不變。 – Jumhyn 2010-12-11 20:55:46
@Jhhyn - 你是否更新過'triVertices'中的頂點以反映對象座標的變化? – 2010-12-11 21:45:55
我改變triVertices到quadVertices因爲我繪製一個矩形,但它看起來像這樣: GLfloat quadVertices [] = { \t \t gameWorld.player.x,gameWorld.player.y,0, \t \t gameWorld.player .X + 10,gameWorld.player.y,0, \t \t gameWorld.player.x + 10,+ gameWorld.player.y 20,0, \t \t gameWorld.player.x,gameWorld.player.y + 20 ,0 \t}; 編輯:在評論中格式不好,希望它仍然可讀。 – Jumhyn 2010-12-11 21:54:21