Animation läuft zu schnell

  • nur noch ein Gedanke:
    Dein keine-Taste-Event funktioniert natürlich nicht mehr so wie man es erwartet, wenn du noch zusätzliche Tasten belegst oder ein Spieler aus reinem Spaß irgendeine andere Taste gedrückt hält wodurch die Figur auch weiterrennt ohne das eine der Pfeiltasten gedrückt ist. Um das zu umgehen kannst du entweder für jede Taste ein Release-Event basteln in der das selbe steht, wie im no-key-Event oder, was ich bevorzuge. In jeden Key_Event (nur key. kein pressed oder released) noch ein einen Alarm setzen (alarm[0]=1) und dein no-key-Event in diesen Alarm-Event umwandeln.
    Einige meiner Spiele:
  • Also das mit dem -> (für jede Taste ein Release-Event)
    geht bei mir.

    Aber das mit dem Alarm, geht bei mir nicht. (Ich mache wieder mal was falsch)
    Wie muss ich das machen?

    Ich habe
    bei der Pfeiltaste 1: alarm[0]=1 in das Codefenster mit rein geschrieben
    - das bei den anderen Pfeiltasten genauso gemacht
    - anstatt das (keine Taste) Event das Alarm Event hergenommen
    - dann beim Alarm Event die Aktion (Start moving in a direction) auf in keine Richtung gehen eingestellt
  • Scheinbar bewirkt "alarm[0]=1" das der Alarmevent noch im selbem Step ausgeführt wird.
    Daher müsstest du wohl "alarm[0]=2" schreiben...
    Hab dir einfach mal n kleines Example gemacht, für den Fall das der Fehler wo anders liegt.
    object0 bewegt sich durch das verändern von x und y. Daher muss man im Alarmevent nur die Animation und nicht die Bewegung stoppen. Ein Nebeneffekt ist, dass man nicht nur horizontal und vertikal laufen kann, sondern auch diagonal.
    Bei object1 hab ich staat x und y zu verändern, die D&D-Aktion "Start moving in a direction" verwendet, wo ich diese Bewegung auch im Alarmevent stoppe. Hierbei kann man sich nur horizontal und vertikal bewegen.

    Hab jeden GML-Befehl kommentiert, für den Fall das du nen Befehl nicht verstehst ;)
    Hoffe es hilft dir weiter:
    Dateien
  • Habs vorhin getestet und es ging auch mit alarm[0]=1;
    Aber ich denke TrunX' Example ist recht aufschlussreich. Alles was da fehlt ist der kosmetische Create Event mit image_speed=0;

    EDIT: Jetzt hab ich's bemerkt. Die Animation wird ja tatsächlich nicht abgespielt (blöd wenn man mit einem nicht animierten Objekt Animationen testen will :D), wenn man nur 1 nimmt. Hab gerade nachgesehen und festgestellt, dass ich bei meinen Spielen auch immer 2 genommen habe.
    Einige meiner Spiele:
  • Benutzer online 1

    1 Besucher