Hey,
Ich bin recht neu in Sachen Delphi und arbeite gerade für die Schule an einem größeren Projekt aufeigene Faust. Ich will eine Art Doodlejump für den Computer entwickeln. Das Spielprinzip ist denkbar einfach und mein Ansatz auch. Das Springen ist automatisch aktiviert und die Spielfigur springt hoch, am höchsten Punkt fällt sie wieder, wie wir es von der Schwerkraft kennen. Sobald die Spielfigur nun auf ein Objekt trifft, springt es erneut, bis man oben angekommen oder zu weit nach unten (aus dem Bildschirmrand) gefallen ist. Selbst kann man nur rechts und links steuern.
Angedacht ist nun ein Bild im Hintergrund (unser Level) und ein Bild im Vordergrund (die Spielfigur). Sobald das Spiel startet wird eine Sprungsequenz in Gang gesetzt. Ich hab das ganze hier mal aufgeschrieben, wie es gemeint ist. "jt" ist dabei die Flugzeit und "score" die eigentliche Pixelhöhe, die später zur Ausgabe gebraucht wird!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| begin jt := 0; repeat jt := jt + 1; if Img_model.top > 200 then Img_model.top := Img_model.top - 1 else Img_bg.top := Img_bg.top + 1; sleep (33); score := score + 1; until jt = 60; sleep (10); end; |
Doch habe ich nun das Problem, dass der eigentliche Flugfortschritt nicht angezeigt wird. Ich möchte ja meinen flüssigen Flug sehen und nicht, dass nach 2 Sekunden meine Spielfigur 60 Pixel weiter nach oben gesprungen ist.
Wie mache ich den Fortschritt sichtbar und aus dem ganzen einen schönen Ablauf?