Konzept eines Sprungs für Jump'n'Run (DDraw)
-
Hallo,
folgendes: Ich programmiere mal in Ansätzen ein Jump'n'Run, und sitze nun ein wenig fest bei der wohl wichtigsten Aktion: Der Sprung.
Also, ich kriege es hin, das die Figur, springt, auch das "wieder zurück kommen" ist kein Problem, das mache ich über einen Timer.
Mein Problem nun: Solange man Space (meine Sprungtaste) gedrückt hält, springt die Figur weiter, bis sie oben (oder an einer bestimmten definierten Höhe) aneckt. Auch wenn sie schon wieder im Fallen ist (man also losgelassen hat) und man im Fall Space drückt, springt sie plötlich wieder.
Was kann ich da machen?
Ich brauche nicht unbedingt Code, vielmehr interessiert mich das Konzept, ein paar Anregungen, Pseudo-Code oder auch ein Tutorial.
Danke im Voraus!
mfg Jens
-
Ich hoffe ich habe dich richtig verstanden, teste vor dem sprung einfach ob die figur nicht bereits springt (eine einfach bool variable reicht aus) und springe nur wenn dies nicht der Fall ist!
P.s.: was hat das mit ddraw zu tun?
[ Dieser Beitrag wurde am 11.06.2003 um 21:40 Uhr von DasPinsch editiert. ]
-
Hi,
so weit war ich auch schon.
Das Problem ist ja, WIE ich überprüfe, ob er bereits springt. Mit Koordinaten hat das überhaupt nicht funktioniert, obwohl ich bis jetzt nicht weiß, warum.
DDraw: Wollte es nur angeben, hat mit dem Konzept ja wirklich kaum bis nichts zu tun.
-
eine einfach bool variable reicht aus
-
#define STANDING 1 #define JUMPING 2 bool state; if ((key[VK_SPACE]) && (state==STANDING)) { //evtl code für sprung(-anfang), z.B player1.vel_y = -15; state=JUMPING; } if (state==JUMPING) { // code für sprung //wenn figur wieder am boden/plattform usw ist state=STANDING; }
-
Original erstellt von nep:
**```cpp
#define STANDING 0
#define JUMPING 1
bool state;
if ((key[VK_SPACE]) && (state==STANDING))
{
//evtl code für sprung(-anfang), z.B player1.vel_y = -15;
state=JUMPING;
}if (state==JUMPING)
{
// code für sprung//wenn figur wieder am boden/plattform usw ist
state=STANDING;
}