Hallo erstmal
Ich habe eine weiter frage, undzwar geht es um die Verfolgung von den Koordinaten einer Berührung, genau zu sein um das umrechnen der Koordinaten in OpenGL Koordinaten.
das Problem ist folgendes: Wenn der Benutzer den Bildschirm berührt, muss auf dieser Position ein Flugzeug erscheinen und dieses soll die Berührung verfolgen, also bewegt sich der Finger, bleibt das Flugzeug unter ihm. Jedoch verstehe ich nicht, warum meine Koordinaten so komisch berechnet werden.
Mein Renderer für den GLSurfaceView (der das ganze darstellt) wird definiert durch:
public void onSurfaceChanged(GL10 gl, int width, int height) { gl.glViewport(0, 0, width,height); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrthof(0f, 1f, 0f, 1f, -1f, 1f); }
Müsste ich dann nicht, rein theoretisch, die untere linke Ecke als 0|0, oben links als 0|1, unten rechts 1|0, oben rechts 1|1definiert haben. Also in Abhängigkeit zum Bildschirm.
Dann müsste ich doch die Berührungs Koordinaten per
bzw.
in OpenGL Koordinaten umrechnen? ich meine 0|0 in OpenGL entspricht ja 0|Höhe in Bildschrim Koordinaten? Jedoch erscheint es irgendwo, nur nicht unter der gedrückten Position
Habe ich einen Denkfehler drin, oder gehe ich das Problem allgemein falsch an?
MFG
AG
P.S: Tut mir Leid, wenn das ganze in einem falschen Bereich steht, die anderen schienen mir aber noch unpassender...