Gravity Direction bei einem Jump n Run Spiel

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Gravity Direction bei einem Jump n Run Spiel

    Hi,
    Ich würde gerne wissen wie man die Gravity Direction ein einem Jump n Run Spiel ändern kann.
    Also das ich z.B. mit einem Pfeil nach rechts kolidiere und dann kann der Player seitlich an der Wand laufen.
    Bis jetzt hab ich es nur geschafft das der Player auf 2 Seiten laufen kann oben & unten^^.

    So ist der Code bis jetzt:

    Create Event des Players: gravity = false

    Step Event des Players: if grav = false
    {
    if place_free(x,y+1) {gravity=0.5}else{gravity=0}
    gravity_direction = 270
    if keyboard_check_pressed(vk_up) and !place_free(x,y+1) {vspeed=-10}
    if keyboard_check(vk_right) and place_free(x+5,y) {x+=7}
    if keyboard_check(vk_left) and place_free(x-5,y) {x-=7}
    }

    if grav = true

    {
    if place_free(x,y-1) {gravity=0.5}else{gravity=0}
    gravity_direction = 90
    if keyboard_check_pressed(vk_up) and !place_free(x,y-1) {vspeed=10}
    if keyboard_check(vk_right) and place_free(x-5,y) {x-=7}
    if keyboard_check(vk_left) and place_free(x+5,y) {x+=7}
    }

    und bei den Kollisionen mit den Pfeilen (Sprites) folgende Codes: grav = true und grav = false


    Also im Prinzip was ich jezt noch brauche sind die anderen beiden Seiten (rechts und links) ;)
    Hoffe ich hab es einigermaßen verständlich erklärt.^^

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • GML-Quellcode

    1. if(place_meeting(obj_pfeil_rechts){
    2. gravity_direction=0;
    3. }
    4. if(place_meeting(obj_pfeil_links){
    5. gravity_direction=180;
    6. }
    7. // und so weiter


    das ding ist, das du dein springen anpassen musst.
    z.B.

    GML-Quellcode

    1. if(gravity_direction=0){
    2. if(keyboard_check(vk_up)){
    3. y-=4;//statt vspeed zu verwenden ;)
    4. }


    ich denke den rest kannste von aleine :)


  • Hey, also erstmal danke für die schnelle Antwort ;) hab aber noch ein Problem^^, ich würde es jetzt gerne so haben das zufällig eine Seite ausgewählt wird wenn ich das Objekt berühre
    Im Moment hab ich den Code so:

    GML-Quellcode

    1. if (place_meeting(0,0,obj_rotate1)){direction = choose(0,90,180,270);}
    2. if(gravity_direction=0){if(keyboard_check(vk_up)){y-=4;}}
    3. or
    4. if(gravity_direction=90){if(keyboard_check(vk_up)){y-=4;}}
    5. or
    6. if(gravity_direction=180){if(keyboard_check(vk_up)){y-=4;}}
    7. or
    8. if(gravity_direction=270){if(keyboard_check(vk_up)){y-=4;}}



    Aber bei dem or wird immer ein Fehler angezeigt :headtouch:

    Was mach ich da falsch?

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Unkaputtbar schrieb:


    Aber bei dem or wird immer ein Fehler angezeigt :headtouch:

    Was mach ich da falsch?

    lg
    Was sollen die "or"s überhaput bewirken?
    So ist es ein Syntaxfehler. Lass sie einfach weg oder ersetz sie durch "else", was aber in diesem fall genau das selbe bewirkt.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Ich wusste nicht wie der befehl für oder lautete^^

    Wie muss ich das machen das es ein Jump n Run Spiel ist?


    GML-Quellcode

    1. if(gravity_direction=0){if(keyboard_check(vk_up)){y-=4;}if(keyboard_check(vk_down)){y+=4;}if(keyboard_check(vk_right)){y=4;}if(keyboard_check(vk_left)){y=4;}}



    Aber so kann ich nur rauf und runter.
    muss da ein +/- vor der Zahl oder sowas?

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Ja, wie ein Jump n Run spiel geht weiß ich auch.., aber wie muss ich das in den Code einfügen das er z.B. bei einer gravity_direction = 180 (also links) dann auch da ganz normal laufen kann? ...
    Hab doch in dem Thread schon erklärt um was es geht ;)

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)
  • Sorry erstmal für Tripple Post :/, aber ich wollte nur mal sagen das ich immer noch eine Lösung suche^^,
    Alternativ verwende ich jetzt view_angle[0]=90 aber ich möchte immer noch das sich nur ein Teil des Spiels dreht (also ein kleiner ausschnitt) & nicht das komplette Spiel :/
    Vielleicht weiß ja jetzt jemand was? Also kann man vll mit dem View iwie rumspielen sodass nur ein Teil des Spiels gedreht wird oder muss man das anders machen?

    lg
    Bei genauer Beschreibung oder einem Beispiel erstelle ich gern Grafiken für euch -> einfach via Pn melden (ich arbeite überwiegend mit Photoshop)