2009-07-11 6 views
0

KURZINFOS:
Ich habe Probleme mit einem 3D-Würfel in einem Flugzeug. Das Flugzeug ist ein Gitter aus Quadraten. Die ID-Nummer des Quadrats, auf dem der Würfel gerade belegt ist, wird in einer Speichervariablen gespeichert. Dies ist so, dass ich feststellen kann, ob benachbarte Quadrate frei sind, auf die sich der Würfel bewegen kann. Wenn ich den Würfel verschiebe, wird die Speichervariable aktualisiert, um die ID-Nummer des neuen Quadrats wiederzugeben.Tracking 3D-Würfelposition OpenGL?

PROBLEM:
Das Problem ist, dass manchmal, wenn ich den Würfel bewegt, die Würfel zu weit oder in der falschen Richtung und der Platz in dem Speicher-Variable nicht mit dem der Würfel tatsächlichen Platzes bewegt wird, gezeichnet auf ... Dies verursacht Probleme wie der Würfel keine Kollisionen erkennen und sogar durch Objekte gehen, die es nicht soll ....

Cube wird in einer DrawView-Methode in einem iPhone OpenGL ES EAGLView mit einer Rate von 24 gezeichnet mal pro Sekunde ... Könnte die schnelle Zeichnung die Ursache dafür sein ???? Wie kann ich das beheben? Mein Job hängt davon ab ...

Jemand bitte helfen.

+1

Zeigen Sie uns etwas Code. – zoul

Antwort

2

Nun, nicht viel weiter zu gehen ... Aber ich bezweifle, dass die Bildschirmaktualisierungsrate irgendeinen Einfluss darauf hat, wohin der Würfel geht. Klingt, als hättest du einen guten altmodischen Logikfehler. Aber wieder geht das nur ab, was du gegeben hast.

1

Haben Sie versucht, sicherzustellen, dass jede Speichervariable korrekt auf jedes Quadrat in Ihrem Flugzeug passt? Probieren Sie das Debuggen aus, indem Sie ein Quadrat nach dem anderen zeichnen, um sicherzustellen, dass es jedes Mal zeichnet, wo Sie es für richtig halten.