Ich komm mit dem push/pop warscheinlich noch nicht klar.
Eigentlich kann das ja nicht so schwer sein.
Ich möchte einen Hintergrund haben, dieser ist scrollbar (_background).
Auf dem Hintergrund befinden sich Objekte, die sich relativ zum Hintergrund bewegen (for-schleife)
und am Ende möchte ich eine FPS-Anzeige haben, die immer an der gleichen Bildschirmstelle ist.
orthogonale Darstellung
Wenn ich das so starte, dann bewegt sich das 2te Objekt nicht auf dem Hintergrund, sondern auf dem Bildschirm.
Das erste bewegt sich so, wie es soll.
die obj.render funktion pusht und popt gar nichts, deswegen mach ich's an dieser stelle
Wie macht man's richtig?
(Ich hoffe, die Erklärung kann man verstehen)
Eigentlich kann das ja nicht so schwer sein.
Ich möchte einen Hintergrund haben, dieser ist scrollbar (_background).
Auf dem Hintergrund befinden sich Objekte, die sich relativ zum Hintergrund bewegen (for-schleife)
und am Ende möchte ich eine FPS-Anzeige haben, die immer an der gleichen Bildschirmstelle ist.
orthogonale Darstellung
PHP:
gl.glLoadIdentity();
GLU.gluOrtho2D( gl, (int)_viewport.getX(), (int)_viewport.getWidth(), (int)_viewport.getY(), (int)_viewport.getHeight());
gl.glPushMatrix(); // std matrix speichern
_background.render(activity, gl); // hintergrund zeichnen
for(RenderObject obj : _objects) {
gl.glPushMatrix(); // background matrix speichern
obj.render(activity, gl); // objekt zeichnen
gl.glPopMatrix(); // background matrix laden
}
gl.glPopMatrix(); // std matrix laden
drawFps(gl); // fps-anzeige zeichnen
Wenn ich das so starte, dann bewegt sich das 2te Objekt nicht auf dem Hintergrund, sondern auf dem Bildschirm.
Das erste bewegt sich so, wie es soll.
die obj.render funktion pusht und popt gar nichts, deswegen mach ich's an dieser stelle
Wie macht man's richtig?
(Ich hoffe, die Erklärung kann man verstehen)