Jump n Run...Jump Probleme

Ich hab mal ein bisschen rumprobiert aber nicht richtig weiter gekommen. Soll ich jetzt durch ein Game-Loop immer wieder DrawGLScene aufrufen oder wie? Ich hab da auch ein bisschen rumgespielt und das weiteste war das ich ohne Fehlermeldung starten konnte aber dann nur ein Windows Fenster gekommen ist aber nichts mehr und das hat dann zeimlich stark gehangen also VS2010
 
Soll ich jetzt durch ein Game-Loop immer wieder DrawGLScene aufrufen oder wie?

Wenn ich in deinen Code gucke (Zeile 66 und 82) machst du genau das ja bereits.

Es geht darum, dass der Loop eine gewisse Zeit braucht, um einmal durchzulaufen. Diese Zeit kannst du messen und anhand der Dauer dann berechnen, wie weit sich die Figur bewegen muss (Geschwindigkeit und Zeit sind bekannt, also kannst du den Weg ausrechnen).

Mehr wollte ich mit dem Link nicht sagen. Was darüber hinaus geht, z.B. die exakte Implementierung, da kann ich dir nicht weiter helfen.
 
Also du brauchst halt einen Timer der von Anfang bis Ende der Update und Render Methoden läuft und dann stoppt und auf 0 gesetzt wird.
Dann bekommst eine Zahl. Mit der musst du halt alles malnehmen. Sonst läuft das Spiel unterschiedlich schnell auf anderen PCs. Und wenn du dann auch wirklich reales springen darstellen willst empfehle ich dir Box 2D. Dann einfach mal nach der Funktion setvelocity suchen.
MfG ;)
 
Wie ok das hab ich ja alles verstanden aber wie mach ich ein game_update und ein Display update mit OpenGL also ich brauch eine Funktion die alle berechnet und so und eine die das dann Zeichnet richtig?
Und wie mach ich das am schlausten? Ok danke für den Vorschlag mit Box 2D möchte dann aber lieber selber den Sprung machen....

mfG
 
Also wenn du nur eine Update und Render Funkion willst mache es doch so:
C++:
while( !bEndGame )
{
  Update();
  Render();
}
Ich verstehe irgendwie dein Problem nicht richtig...
In der Update Methode würde ich dann die Nachrichten von deinem Fenster handeln. Und wenn sich im Spiel was bewegen soll musst halt noch 'ne Move() Funktion einbauen ;)
Und ich glaube du weißt wie du die Nachrichten abfängst, oder?
MfG ;)
 
Zuletzt bearbeitet von einem Moderator:
Also jetzt verstehe ich das nicht.
Hast du denn überhaupt schon eine renderfunktion geschrieben?
Also wenn nicht dann beschäftige dich nochmal mit den Grundlagen.
Und ich bin ja directx ler aber ich denke mal scene beginnen rendern Scene beenden und bildpuffer sichtbar machen. Aber wenn du wirklich nicht weißt wie man das macht dann lass das erstmal mit der spieleprogrammiereung ;)
 
Also ich versteh nicht den Unterschied oder was es macht ist Update() einfach auslesen welche Taste ist gedrückt und Pos in einer Variable reinschreiben und Render() einfach DrawGLScene also Zeichnen oder wie?
 
Kommt drauf an wie du es möchtest ;)
Mach doch in Update erstmal ein Message Handler rein. in Render machst du nichts anderes außer den Bildschirm zu leeren. Dann vll noch Tastaturabfrage das wenn ESC gedrückt-> Beenden. Move lass erstmal weg. Was hast du denn eigentlich bis jezt schon? Denn wenn du noch nichtmal was anzeigst nützt dir ne Variable auch nicht viel ;)
MfG
 
Zurück