Animationssteuerung in ein Script einfügen

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

  • Animationssteuerung in ein Script einfügen

    hallo


    also ich habe mit einem State die animationssteuerung erstellt und ich hatte sie normal im step event des players...aber da es dort jetzt schon überfüllt ist würde ich es gerne in ein script tun.also die animationssteuerung ist mit einem switch gemacht....aber wie mach ich das...

    im player create event hab ich ja die variable ​state = idle

    und im step event sind ja abfragen wie

    GML-Quellcode

    1. ​if keyboard_check(vk_left)
    2. {
    3. state = run; //aber das kann ich ja dann so nicht mehr benutzen wie muss ich das dann machen???
    4. }



    bitte um hilfe
  • also zum besseren verständniss hier mal der code:

    create event obj player

    GML-Quellcode

    1. ​state = "idle";


    step event obj player

    GML-Quellcode

    1. ​switch (state){
    2. case "idle":
    3. sprite_index = spr_player_idle;
    4. image_speed = 0.3;
    5. break;
    6. case "run" :
    7. sprite_index = spr_player_run;
    8. image_speed = 0.3;
    9. break;
    10. ///Und dann ein paar abfragen wie zb:
    11. if keyboard_check(vk_left)
    12. {
    13. hspeed -=5;
    14. state = "run";
    15. }
    16. }
    Alles anzeigen



    und wie gesagt geht auch alles nur will ich aufräumen und will die das switch in ein script stecken....
  • In dem Fall musst du nicht einmal ein switch verwenden.
    Es sind nur diese zwei Zeilen nötig:

    GML-Quellcode

    1. ​sprite_index = asset_get_index("spr_player_"+state);
    2. image_speed = 0.3;

    asset_get_index gibt den Index der jeweiligen Resource zurück, die so heißt wie man es angibt.
    Beispielsweise asset_get_index("spr_player_run") wäre das selbe wie spr_player_run.
    Hier ist es nur der Unterschied, dass du den Suffix (die Endung) über eine Variable steuern kannst.
    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
  • Du schiebst den code eins zu eins in ein skipt außer dass du bei switch(state), switch(argument0) schreibst. Und im step Event rufst du dann das script mit dem parameter state auf.

    GML-Quellcode

    1. scr_script(state);


    das wars auch schon. Du kannst aber auch mehrere Codeblöcke im step event benutzen um die Übersicht zu bewahren:
    :action_script: switch
    :action_script: etc
    :action_script: etc

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^