Doppelsprung funktioniert nicht

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

  • Doppelsprung funktioniert nicht

    Ich habe ein Problem, der basagte Code funktioniert nicht. Ich strebe einen Doppelsprung an aber erhalte immer eine Fehlermeldung wenn ich das zweite mal springen will. Sonst funktioniert alles Super.

    Code:

    // Variablen

    var doppelsprung

    // Movement

    if place_free(x,y+1) //Gravity
    {
    gravity = 1
    }
    else
    {
    gravity = 0
    }

    if keyboard_check_pressed(vk_up) //Sprung
    {
    if (!place_free(x,y+1))
    {
    vspeed = -12
    doppelsprung = 0
    }
    else if (doppelsprung == 0)
    {
    vspeed = -12
    doppelsprung = 1
    }
    }

    ############################################################################################
    FATAL ERROR in
    action number 1
    of Step Event0
    for object object_spieler:

    Push :: Execution Error - Variable Get -7.doppelsprung(100000, -2147483648)
    at gml_Object_object_spieler_StepNormalEvent_1 (line 26) - else if (doppelsprung == 0)
    ############################################################################################

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

  • Ein Error mit Get. +Variable ist ein Error, der sagt, dass der die Variable nicht kennt.
    Du hast zwar

    GML-Quellcode

    1. var doppelsprung;

    gemacht, aber du hast dem noch kein Wert gegeben.
    Mach am besten das:

    GML-Quellcode

    1. var doppelsprung = 0;

    wobei ich das var weglassen würde ;)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Und Du solltest die Variable auch nicht im Step-Event haben da diese sonst bei jedem Frame wieder auf 0 gesetzt wird. Wenn Du das so machst kannst Du also unendlich viele Doppelsprünge machen ohne zwischenlanden zu müssen. Falls das aber nicht so sein soll setzt du diese Variable einfach in den Create-Event.

    also einfach die "var doppelsprung" raus aus dem Step-Event.

    Und ein ein Create-Event mit

    GML-Quellcode

    1. doppelsprung = 0
    machen.

    dann sollte das klappen.