Hallo,
ich hab mal eine Frage an euch Experten, ich bin neu hier und hab auch nicht unbedingt so die Ahnung von Programmierung.
Ich versuche gerade ein einfaches Jump'n Run Demo zu basteln.
Dabei habe ich das Problem, dass der Player Sprite nicht auf eine Plattform springen kann.
Ich wollte dies mit dem Befehl SPRCOLL umsetzen.
Habt ihr vieleicht noch irgendwo einen Demo Quell Code rumliegen, an welchem ich dies nachvollziehen könnte. Die Dateien im Forum sind leider nicht mehr Verfügbar.
Danke schon mal im Voraus
Ih mach solche Sachen lieber mit BOXCOLL, weil's schneller ist, aber gut...
Such mal nach "Jump Run" im Forum, da gibt's schon paar Beispiele.
Move to "GLBasic - de"
Grund:
Ist kein FAQ!
Quote from: Gernot Frisch on 2008-Jun-30
Ih mach solche Sachen lieber mit BOXCOLL, weil's schneller ist, aber gut...
Such mal nach "Jump Run" im Forum, da gibt's schon paar Beispiele.
Hab da ja schon alles durchsucht, aber die externen Dateien die auf anderen Servern liegen sind nicht mehr Zugänglich. Ich wollte mir eigentlich das Jump & Run Gerüst von devlin anschauen. Vieleicht könntest du mir dieses Beispiel per mail schicken wenn dir das nichts ausmacht?
Grüße
http://www.glbasic.com/forum/index.php?topic=1077.0 (http://www.glbasic.com/forum/index.php?topic=1077.0) Das ist wohl das Beste.
Ich veranlasse Schranz0r, dass er's anhängt bzw. hochläd.
Hab es leider nicht mehr auf Webspace... da hab ich ausversehen alles geplättet :(
Reicht die Beschreibung da nicht?
Wenn nicht, mach ich nochmal ein kleines Jump'n Run Tutorial!
Der Code ist als Listing drauf, oder? Bzw. evtl. hat ein anderer das noch rumliegen?
Ich mach bei gelegenheit ein neues Tutorial!
Ich hab mal noch ein wenig ausprobiert und es auch schon geschafft, dass ich mit einem Ball von einer Plattform auf die andere Springen kann. Das ganze ist noch ein wenig verbuggt, könnt ihr mir da weiterhelfen? Also der Ball, soll ruhiger springen und wenn ich auf der Sprungtaste bleibe fällt er nicht auf den Boden zurück. Hier mein Quellcode, das Sprite ist ein Ball mit den Maßen 20 x 20
GLOBAL pos_x = 200 // legt die Start Position in x Richtung fest
GLOBAL pos_y = 50 // legt die Start Position in y Richtung fest
LOADSPRITE "ball.png", 0
WHILE TRUE
// sprung
IF KEY(57) AND jump=FALSE // wenn SpaceTaste und die variable jump nicht zutrifft
jump=TRUE // Jump Befehl auf zutreffend setzen
jump_pos=0 // jump_pos bekommt den wert 0
ENDIF
IF jump // wenn jump zutrifft
jump_pos=jump_pos+6 // jump_pos wird um 6 erhöht (Geschwindigkeit des Hüpfens)
IF jump_pos>180 // wenn jump_pos den wert 180 ereicht (180 = Sinus Intervall)
jump_pos=0 // wird jump_pos wieder auf 0 gesetzt
jump=FALSE
ENDIF
ENDIF
IF jump=FALSE // Pseudo Schwerkraft, Ball wird immer nach unten gezogen
pos_y=pos_y+4
ENDIF
// bewegung
IF KEY (203) THEN pos_x =pos_x -2 // Tastendruck nach links, bewegt den Ball 2 Pixel nach links
IF KEY (205) THEN pos_x =pos_x +2 // Tastendruck nach rechts, bewegt den Ball 2 Pixel nach rechts
IF pos_x<1 //Spielfeldbegrenzung am linken Rand
pos_x=1
ENDIF
IF pos_x>300 //Spielfeldbegrenzung am rechten Rand
pos_x=300
ENDIF
//kollision
a= pos_y - SIN (jump_pos) * 70
col_boden= BOXCOLL(pos_x, a, 15, 15, 0, 230, 320, 1) // Bodenkollision
IF col_boden=TRUE
pos_y=220
ENDIF
col= BOXCOLL(pos_x, a, 15, 15, 195, 190, 60, 1) // Kollision mit erster Plattform
IF col=TRUE
pos_y=180
ENDIF
col1= BOXCOLL(pos_x, a, 15, 15, 100, 130, 60, 1)// Kollision mit zweiter Plattform
IF col1=TRUE
pos_y=120
ENDIF
DRAWSPRITE 0, pos_x, pos_y - SIN (jump_pos) * 70
DRAWRECT 195, 200, 60, 20, RGB(0, 0, 255)
DRAWRECT 100, 140, 60, 20, RGB(0, 0, 255)
DRAWLINE 0, 240, 320, 240, RGB(0, 255, 0)
SHOWSCREEN
WEND
Schau mal hier: http://www.glbasic.com/forum/index.php?topic=1077.msg5909 (http://www.glbasic.com/forum/index.php?topic=1077.msg5909)
Das Beispiel ist echt super.
Danke schön, das hätte ich mir auch schon vorher mal anschauen können, da zeigt sich mal wieder wer lesen kann ist klar im Vorteil, Sorry =D
Das wurde heute erst geändert/reingestellt ;)
Gernot du Hund ^^
Echt mal :good: