Permanente Bewegung wird bei Keyboarddruck gestoppt. Das soll nicht sein.

  • GM 8

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

  • Permanente Bewegung wird bei Keyboarddruck gestoppt. Das soll nicht sein.

    Hallo,
    ich bin neuling was den Gamaker angeht und habe hier wahrscheinlich ein Logig/Verständnis Problem.
    Folgendes:
    Ich habe einen Room, Playersprite und wall sprite.
    Den Player kann ich mit Left/Right steuern.
    Left/Right bewegung wird bei einer Kollision gestoppt.
    Das Funktioniert soweit auch :)

    Nun kommt eine Up/Down bewegungdazu.
    Die startet mit einer bewegung nach unten, sobald hier eine Kollision stattfindet bewegt sich der Player automatisch nach oben bis zur nächsten Kollision..usw.
    Funktioniert :)

    Aber sobald ich den Player nach links oder rechts bewege (Tasten drücke) stoppt die Up/Down bewegung :(
    Hier komm ich nicht weiter.
    Wie verhindere ich diesen Stopp?

    Ich weis nicht ob das hier weiter hift, aber ich poste das mal mit:
    Ach ja, das ganze ist mit DnD gemacht.
    Information about object: object1
    Sprite: Player
    Solid: false
    Visible: true
    Depth: 0
    Persistent: false
    Parent:
    Mask:

    Create Event:

    start moving in directions 010101010 with speed set to 7
    Collision Event with object object_wall1:

    start moving in directions 010000000 with speed set to 7
    bounce precisely against solid objects
    create a medium effect of type ring relative at (0,0) of color 16777215 below objects
    Keyboard Event for Key:

    start moving in directions 000100000 with speed set to 7
    Keyboard Event for Key:

    start moving in directions 000001000 with speed set to 7
    Key Press Event for Key:

    end the game
    Key Release Event for Key:

    start moving in directions 000100000 with speed set to 0
    Key Release Event for Key:

    start moving in directions 000001000 with speed set to 0

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fabbio ()

  • Dein Ernst Larsi?

    ...

    Am besten du benutzt dazu statt dem normalen move in direction (ich find grad das passende smiley nicht), dieses hier

    damit stellst du für die Auf und Ab Bewegung die variable vspeed (vertical speed) um und in den keypress events hspeed (horizontal). Negative Werte um nach links und nach oben zu kommen.


    EDIT:
    Vielleicht sollte ich noch schreiben warum: Die Methode die du vorher gewählt hast, stellt nur die variable speed und direction um, deswegen bewegt sich dein Objekt nicht so als ob es nach unten und seitwärts verschioben werden würde, sondern nur so wie die letzte Anweisung war. Wenn du aber die direction unangetastet lässt und hspeed und vspeed benutzt, dann kannst du den Bewegungsbalauf sehr schön beeinflussen.
    Probier einmal so etwas in deinem Keypress Event

    GML-Quellcode

    1. if (vspeed < 7)
    2. {
    3. vspeed += 0.5;
    4. }
    5. //bzw das äquivalente in DnD

    dann wird sich das Objekt in einem Bogen an die neue "Richtung"/Geschwindigkeit anpassen.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Aku_Ryou ()

  • Hmmm ?(

    Wenn ich die Releaskey heraus nehme, habe ich wieder das Problem das wenn ich z.B. die Links Taste drücke,
    der Player sich zwar nach links bewegt aber nicht mehr stoppt wenn ich Taste loslasse.

    Irgendwie muss ich ja herausfinden ob die Taste nicht mehr gedrückt ist?

    Das ganze möchte ich auch erst mit DnD lösen ohne einen Code zu schreiben.
    Ich möcht hier erst einmal dahinter kommen wie die IDE "tickt". ;)
  • @MewX ,
    vielen Dank.
    Das funktioniert geschmeidig.

    Ich seh schon, das man auch zu Anfang, sich doch gleich etwas mehr mit der Syntax beschäftigen soll/muss.

    Das wollte ich eigendlich erst einmal weitgehenst vermeiden.
    Auch das auffinden von Tutorials die sich "nur" mit DnD beschäftigt ist doch etwas geringer als die mit dem Coden/Scripten .

    Da werde ich mich wohl "durchwurschteln" müssen.
  • @Vectorhead,

    vielen Dank.
    So habe ich das "VAR" Icon gesehen, bzw. eine falsche vorstellung davon gehabt.
    Läuft auch gut.

    Ach, noch was :headtouch:
    Ich glaube ich habe jetzt fast eine Stunde gebraucht um die *.gm81 Datei zu öffnen.
    Bis ich Gamemaker nochmals neu gestartet habe, erst hier ist mir der TAB Import aufgefallen.
    Hmmm, das Alter :D