Seitwärts laufen

  • GM 8

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

  • Seitwärts laufen

    Hey leute,

    ich mal wieder vor einem Problem und brauche eure Hilfe es zu lösen.

    Und zwar arbeite ich an einem Topdownview(Draufsicht) Spiel.
    Der Spieler läuft wunderbar in vier richtungen in dem ich im Step event diesen Code ausführe:

    GML-Quellcode

    1. if keyboard_check(ord("W"))
    2. {x+=0; y-=6; direction = 90; sprite_index=sPlayerU;}
    3. else if keyboard_check(ord("A"))
    4. {x-=6; y-=0; direction = 180; sprite_index=sPlayerL;}
    5. else if keyboard_check(ord("S"))
    6. {x+=0; y+=6; direction = 270; sprite_index=sPlayerD;}
    7. else if keyboard_check(ord("D"))
    8. {x+=6; y-=0; direction = 0; sprite_index=sPlayerR;}
    9. else
    10. image_index = 0
    Alles anzeigen


    Nun möchte ich, das der Spieler wenn ich "o" drücke Seitwärts läuft.
    Also weder direction noch den Sprite wechselt.

    Meine Idee war es bei dürcken von "o" den Oberen Code zu überspringen und unter press "i" folgendes aus zu führen:

    GML-Quellcode

    1. if keyboard_check(ord("W"))
    2. {x+=0; y-=6;}
    3. else if keyboard_check(ord("A"))
    4. {x-=6; y-=0;}
    5. else if keyboard_check(ord("S"))
    6. {x+=0; y+=6;}
    7. else if keyboard_check(ord("D"))
    8. {x+=6; y-=0;}
    9. else
    10. image_index = 0
    Alles anzeigen


    Mein Problem ist nur: Wie überspringe ich das Step event.
    Hab schon rum probiert aber bei mir fürt er entweder beide Codes aus(doppelte laufgeschwindigkeit)
    oder gar keinen.

    Habt ihr ne Lösung?

    Danke schon mal im Vorraus
  • Hi

    Was ich nicht ganz verstehe ist das mit Seitwärts laufen.
    Dafür hast doch du die Taste A und D.

    Oder meinst du das eine Seitwärtsanimation des Players aus geführt werden soll
    dann ergänze deine Code wie folgt:

    GML-Quellcode

    1. if keyboard_check(ord("W"))
    2. {x+=0; y-=6; direction = 90; sprite_index=sPlayerU;}
    3. else if keyboard_check(ord("A"))
    4. {x-=6; y-=0; direction = 180; sprite_index=sPlayerL;}
    5. else if keyboard_check(ord("S"))
    6. {x+=0; y+=6; direction = 270; sprite_index=sPlayerD;}
    7. else if keyboard_check(ord("D"))
    8. {x+=6; y-=0; direction = 0; sprite_index=sPlayerR;}
    9. else if keyboard_check(ord("O"))
    10. {x+=6; y-=0; direction = 0; sprite_index=sPlayer_seitwärts_rechts;}
    11. else
    12. image_index = 0
    Alles anzeigen


    Gruss Drachen
  • Nee die Idee war, wenn ich "o" gedrückt halte soll die Figur sich noch frei bewegen können, allerdings soll er nicht mehr die Richtung verändern.
    So ähnlich wie bei Egoshootern. Wenn man da "a" oder "d" drückt dreht man ja auch nicht den Kopf, sondern behalt die Blickrichtung und gleitet nach rechts oder links.
  • es gibt so ne schöne Funktion die heißt


    GML-Quellcode

    1. exit


    damit springt er zum Ende des Scripts!

    Wenn du also

    GML-Quellcode

    1. if keyboard_check(ord("O"))
    2. {
    3. exit;
    4. }


    einfügst müsste er das Piece of Code beenden


    Wenn ich dir einen Tipp geben darf, um seitwärts zu laufen wird in den meisten Spielen die Taste Q und E benutzt da sich diese anbietet
    deswegen würde ich es so machen das du abfrägst ob Q oder E gedrückt sind und wenn ja dann wird anhand der direction die du gerade hast dein code ausgeführt

    EDIT:
    was ich mich wundere ist folgendes
    soweit ich das sehe kannst du eh nur in 4 richtungen laufen, wie soll der spieler dann noch seitlich laufen?
    Wenn du "o" & "i" und die direction zum laufen benutzen würdest könnt ichs ja verstehen aber so, macht des wenig sinn für mich

    könntest du mal en Exampel hochladen ?


    Ich würde die einfach raten image_angle zu verwenden weil da du anfänger bist könnte ich mir gut vorstellen das du für jede Richtung ein eigenes Sprite gemacht hast!
    Du bräuchtest in der Topdown Ansicht allerdings nur ein einziges das du dann drehen kannst!


    Grüßle Blayde
  • Benutzer online 1

    1 Besucher

  • Tags