Kleines Problem mit GML.

  • GM 8

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

  • Kleines Problem mit GML.

    Hallo liebe Game maker Community.
    Ich habe (Wie man am Titel natürlich schon erkennen kann, ein kleines Problem mit GML.)
    Ich bin eigentlich komplett neu in dieser ganzen Game maker Sache, deshalb verzeiht mir bitte diesen höchstwahrscheinlich total schlechten Code. :)

    Da ich kein gutes Video-Tutorial auf Youtube gefunden habe, was mir die Lösung meines Problems zeigt und es noch erklärt (Die meisten geben nur den Code her und gut ist... :/ ) frage ich einfach mal hier.

    Nun zur Frage:
    Ganz einfach, ich möchte es gerne so hinbekommen dass wenn der Character zum Beispiel. wenn er nach links guckt und dann springt, er auch die Linke Sprung-Animation hat und das Gleiche
    auch bei rechts (Nur halt mit der rechten Sprung-Animation)

    Ich habe schon vieles versucht und bin nun zu meinem bis jetzt "besten" Ergebnis gekommen:

    GML-Quellcode

    1. //Jumping//
    2. if keyboard_check(vk_up) if !place_free(x, y +1)
    3. if sprite_index = Stand_2
    4. {
    5. sprite_index = Jump_2
    6. vspeed = -10
    7. }
    8. if keyboard_check(vk_up) if !place_free(x, y +1)
    9. if sprite_index = Stand
    10. {
    11. sprite_index = Jump
    12. vspeed = -10
    13. }
    Alles anzeigen

    Ich weiss dass der Code sehr wahrscheinlich total schlecht gemacht ist, aber ich würde mich über eine Lösung sehr freuen. :)

    Ps.Hatte hier vor 2 Jahren schonmal einen Account (Darknova) aber ich kann ihn nichtmehr zurücksetzen, da ich meine e-mail nichtmehr habe. Sry :S
  • Ich check gerade nicht ganz was dein Problem ist, da der Code ja anscheinend funktionieren müsste, aber das "Sprite spiegeln"-Problem kann man viiiiiiiiiiel einfacher lösen.
    Wenn du nach links bzw. rechts drückst (ich gehe mal davon aus, dass du den Charakter mit den Pfeiltasten bewegst), dann setz den image_xscale einfach auf -1 bzw. 1, dann wird dein Sprite gespiegelt:

    GML-Quellcode

    1. if(keyboard_check(vk_right) && !keyboard_check(vk_left))
    2. image_xscale = 1;//Sprite guckt nach rechts.
    3. if(keyboard_check(vk_left) && !keyboard_check(vk_right))
    4. image_xscale = -1;//Sprite guckt nach links.


    So sparst du erstens massenweise Zeilen an Code und zweitens musst du nicht jeden Sprite per Editor spiegeln, was viel Zeit spart. Und deinen Jump-Code kannst du dann auch kürzen:

    GML-Quellcode

    1. if(keyboard_check_pressed(vk_up) && !place_free(x,y+1)){
    2. vspeed = -20;
    3. image_index = 0; //Damit von vorne animiert wird.
    4. sprite_index = Jump;
    5. }


    Müsste eigentlich funktionieren.

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.