Erst drehen, dann gehen

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

  • Erst drehen, dann gehen

    Hallo liebe Community,

    mich hat vor ein paar Wochen die Lust gepackt, mal wieder etwas mit dem Game Maker zu machen, und nun sitze ich an einem 2D-Rollenspiel.
    Bisher konnte ich alle Probleme mit der Hilfe oder Examples lösen, doch nun verzweifle ich vor einer eigentlich einfachen Aufgabe:
    Ich möchte die Spielfigur erst in die gewünschte Richtung drehen lassen (bei kurzem Tastendruck) und danach gehen lassen (bei gedrückter Taste oder bei Drückung der Richtungstaste, welche der aktuellen Richtung der Figur entspricht).

    Momentan sieht mein Code so aus, dass ich im Keyboard-Event den Sprite und die Variable "direction" ändere; im End-Step frage ich ab, ob eine bestimmte Richtungstaste gedrückt wird - nämlich die, die der "Richtung" des Sprites entspricht - und lasse den Spieler ggf. gehen.
    Probleme:



    • Zeitabstand zwischen Keyboard und End-Step-Event ist nicht groß genug (= Spieler dreht und geht fast - Glücks- oder Feingefühlssache - gleichzeitig)
    • Wenn einmal sehr kurz in die aktuelle Richtung des Sprites gedrückt wird, läuft die Animation um einen Schritt weiter (als wenn der Spieler auf der Stelle gehen würde)

    Zum Verständnis kann ich eigentlich nur noch sagen, dass die Bewegung wie bei den klassischen Pokemon-Spielen ablaufen soll.

    Ich hoffe Ihr könnt mir (bald) Helfen!
  • Lös das doch mit einer Variable.
    Wenn eine Taste gedrückt wurde, setzt du diese Variable auf 0-3 (0 für rechts, 3 für unten) und einen alarm auf eine bestimmte Zeit.
    Im alarm-event testest du dann, ob die Taste immer noch gedrückt ist, und wenn ja, änderst du das sprite und den speed des Spielers.

    "Is this one sloshing?"
    Four words you don't want to hear when you pick up a coffin...
  • Wenn ich dich richtig verstanden hab, ist es eigentlich ziemlich einfach. Es gibt allerdings mehrere Möglichkeiten, das umzusetzen. Poste doch mal eine gmk, damit man deinen Ansatz sieht.

    Edit: Ich würd das ohne Alarme machen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hi Domimah

    So ich habe dein Code ein wenig geändert. Ich hoffe es ist im deine Sinne. Es muss aber immer eine kleine Pause zwischen den Tastendruck liegen.
    Sonst weschelt deine Figur ohne Pause in die Richtung.

    Gruss Drachen
    Dateien
    • drehen-gehen.zip

      (22,25 kB, 139 mal heruntergeladen, zuletzt: )