Sprite wechseln beim gehen, Code funktioniert nicht

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

  • Sprite wechseln beim gehen, Code funktioniert nicht

    Kann mir einer sagen warum der Code nicht funktioniert?
    Linke Taste = wechselt der Spieler nur dass Sprite
    Rechte Taste = macht der Spieler überhaupt nichts
    Oben = macht der Spieler auch nichts

    Ich möchte nur das der Spieler sich bei den jeweiligen Taste in die richtung geht und solange er das tut sein Sprite ändert.

    Code: im Step Event

    vspeed += 0.75

    if place_free(x,y+10)
    {
    vspeed = 0 sprite_index = sprite_spieler_stand
    }
    else
    {
    if keyboard_check_pressed(vk_up)
    {
    vspeed = -12 sprite_index = sprite_spieler_sprung
    }}

    if keyboard_check(vk_right) == true
    {
    hspeed = 5 sprite_index = sprite_spieler_gang_rechts
    }
    else
    {
    hspeed = 0 sprite_index = sprite_spieler_stand
    }

    if keyboard_check(vk_left) == true
    {
    hspeed = -5 sprite_index = sprite_spieler_gang_links
    }
    else
    {
    hspeed = 0 sprite_index = sprite_spieler_stand
    }
  • Wie TrunX bereits geschrieben hat, Dein letzter Eintrag im Code überschreibt alles und ich würde es auch separieren. Ich bin selbst erst Anfänger und hab das jetzt nicht getestet aber probier einfach mal folgendes.

    GML-Quellcode

    1. // Movement
    2. if keyboard_check_pressed(vk_up)
    3. {
    4. vspeed = -12
    5. }
    6. if keyboard_check(vk_right)
    7. {
    8. hspeed = 5
    9. }
    10. if keyboard_check(vk_left)
    11. {
    12. hspeed = -5
    13. }
    14. // Sprites
    15. if vspeed == -12
    16. {
    17. sprite_index = sprite_spieler_sprung
    18. }
    19. if hspeed == 5
    20. {
    21. sprite_index = sprite_spieler_gang_rechts
    22. }
    23. if hspeed == -5
    24. {
    25. sprite_index = sprite_spieler_gang_links
    26. }
    27. if vspeed == 0 && hspeed == 0
    28. {
    29. sprite_index = sprite_spieler_stand
    30. }
    31. //Kollisions-Abfrage
    32. if place_free(x+hspeed,y) == false
    33. hspeed = 0
    34. if place_free(x,y+vspeed) == false
    35. vspeed = 0
    Alles anzeigen




    Wie gesagt, das ist nur gefährliches Halbwissen eines Anfängers. Probier es aus, wenn es läuft alles supi, falls nicht... steinige mich :)
  • Captain_Knorke schrieb:

    Wie TrunX bereits geschrieben hat, Dein letzter Eintrag im Code überschreibt alles und ich würde es auch separieren. Ich bin selbst erst Anfänger und hab das jetzt nicht getestet aber probier einfach mal folgendes.

    GML-Quellcode

    1. // Movement
    2. if keyboard_check_pressed(vk_up)
    3. {
    4. vspeed = -12
    5. }
    6. if keyboard_check(vk_right)
    7. {
    8. hspeed = 5
    9. }
    10. if keyboard_check(vk_left)
    11. {
    12. hspeed = -5
    13. }
    14. // Sprites
    15. if vspeed == -12
    16. {
    17. sprite_index = sprite_spieler_sprung
    18. }
    19. if hspeed == 5
    20. {
    21. sprite_index = sprite_spieler_gang_rechts
    22. }
    23. if hspeed == -5
    24. {
    25. sprite_index = sprite_spieler_gang_links
    26. }
    27. if vspeed == 0 && hspeed == 0
    28. {
    29. sprite_index = sprite_spieler_stand
    30. }
    31. //Kollisions-Abfrage
    32. if place_free(x+hspeed,y) == false
    33. hspeed = 0
    34. if place_free(x,y+vspeed) == false
    35. vspeed = 0
    Alles anzeigen




    Wie gesagt, das ist nur gefährliches Halbwissen eines Anfängers. Probier es aus, wenn es läuft alles supi, falls nicht... steinige mich :)


    Ich habs probiert, und erstmal danke! :)
    1 Problem bleibt aber noch, nämlich der Sprung.
    Wenn ich "up" drücke dann springt er immer weiter bzw. fliegt immer weiter nach oben, aber ich will ja, dass er nach ein paar cm wieder runterfällt, ein normaler Sprung eben.
    Hab mit ein paar Sachen probiert aber funktioniert irgendwie nie

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

  • Du willst bestimmt ein Jump'n'Run Spiel machen oder?
    Dazu kann ich dir ein paar gute deutsche Turorials empfehlen, in denen wahrscheinlich fast alle deine Fragen beantwortet werden:
    youtube.com/playlist?list=PL3UiSGDvMb8SkJWe_Vc_DRB7AabddRKFV
    Du musst dir nur die Jump'n'Run folgen raussuchen, den Rest anzugucken schadet aber nicht :thumbsup: