Herunterfallen
Übersicht

SerdonBetreff: Herunterfallen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich bin grad an nem jump n run/ Rollenspiel dran und habe nun folgendes Problem: Ich möchte dass mein Char runterfällt sobald das tile unter ihm keine Kollision anzeigt. Er soll dann solange fallen bis er wieder "festen Boden" unter den Füßen hat.
Ich hab mir auch schon im Forum ein paar ältere Fragen dazu durchgelesen, hab aber nichts gefunden was mir wirklich weitergeholfen hat. Code: [AUSKLAPPEN] Repeat Cls If py-1 < 2 Then py-1 Flip Until Keyhit(1) |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeigst Du uns den tatsächlichen Codeabschnitt? Das Beispiel ist nicht wirklich zum helfen zu gebrauchen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Serdon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, das ist der Codeabschnitt den ich mir "gebastelt" hab. Ich weiß ist wahrscheinlich eine Augenvergewaltigung für einen Pro-Progger, aber ich kenn mich eben nicht so aus. | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist weder gültiger Code, noch könnte man ihn laufen lassen, um zu sehen, was passiert. Ich schließe mich Hubsi an: Bitte poste den richtigen Code.
Oder du bist wirklich noch nicht so weit, um mit Tilekollision an zu fangen. Dann arbeite ein Tutorial oder eine BPS Aufgabe durch. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Serdon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also hier ist der gesamte code. Ich hab mich auch schon mit dem Problem auseinandergesetzt und weiß ungefähr wie ich es angehen sollte: py ist die y variable des spielers. Ich prüfe also ob das tile unter dem spieler "fester Boden" oder luft ist. Wenn es luft ist, setze ich den Spieler ein tile nach unten. Dann wird wieder geprüft etc...
Also noch mal mein gesamter code Code: [AUSKLAPPEN] Graphics 1024,768,16,1 tileset = LoadAnimImage("tileset.bmp",32,32,0,5) char = LoadImage("char.bmp") Gold = 0 Leben = 100 px = 6 py = 6 move = 1 Dim map(31,23) ;Legende: ; 0 = Stein ; 1 = Hintergrund - Mauer ; 2 = Vordergrund - Mauer ; 3 = ? ; 4 = Weg ; 5 = ? ; 6 = ? ; 7 = ? ; 8 = ? ; 9 = ? Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 4,4,4,4,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 Data 2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 Data 2,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 For y = 0 To 23 For x = 0 To 31 Read map(x,y) Next Next Repeat ;Den Backbuffer setzen SetBuffer BackBuffer() Cls ;ESC-Taste zum Beenden If KeyDown(1) Then End For y = 0 To 23 For x = 0 To 31 DrawImage tileset,x*32,y*32,map(x,y) Next Next Text 5,5,Leben Text 50,5,Gold Repeat Cls If py-1 < 2 Then py = py-1 move = 1 EndIf Flip Until KeyHit(1) If KeyDown(208) Then If map(px,py+1) > 2 Then py = py+1 move = 1 EndIf EndIf If KeyDown(200) Then If map(px,py-1) > 2 Then py = py-1 move = 1 EndIf EndIf If KeyDown(203) Then If map(px-1,py) > 2 Then px = px-1 move = 1 EndIf EndIf If KeyDown(205) Then If map(px+1,py) > 2 Then px = px+1 move = 1 EndIf EndIf If move = 1 Then x = px * 32: y = py * 32: DrawImage char,x,y ;flippen und zum anfang zurück Flip Forever |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Serdon hat Folgendes geschrieben: Ich prüfe also ob das tile unter dem spieler "fester Boden" oder luft ist. Nein, dass tust du nicht. Du prüfst ob py minus eins kleiner ist als zwei - und das auch noch ganz willkürlich in einer extra Schleife innerhalb der Hauptschleife.
Bitte rücke den Code mit Tabulatoren so ein, dass man die zugehörigen Blöcke sehen kann. BlitzBasic: [AUSKLAPPEN] Repeat |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Serdon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok und wie sollte ich das angehen? Irgendwelche Anregungen wären gut | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich rate dir dringend zu dem Tutorial über Programm-Ablauf:
https://www.blitzforum.de/foru...hp?t=33584 Daraus die Kapitel I bis IV und auch sehr wichtig das "Fehler suchen Tutorial": https://www.blitzforum.de/foru...hp?t=33510 daraus die Kapitel I bis IV |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group