Variable inerhalb einer Spriteangabe

  • GM 8

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

  • Variable inerhalb einer Spriteangabe

    Hi,
    ich arbeite momentan an meinem spiel aus dass man den Carakter wechseln kann. Da aber jeder char mehrere sprites besitzt (bewegen in verschiedene Richtungen oder stehen mit verschiedenen Blickrichtungen...) würde es extrem viel aufwand sein jedesmal

    Quellcode

    1. if(chartype == 1)
    2. ...

    zu frage und das für jeden chartype :headtouch:

    Deshalb dachte ich daran eine variable in die spriteangabe einzubetten, ca so zum Beispiel:

    Quellcode

    1. sprite_index=char_(hier die variable chartype)_left


    ist das Möglich? Und wenn ja wie?
  • Probier es aus :)

    GML-Quellcode

    1. chartype = 5 //Spieler nimmt char 5
    2. choosen_char_left = string("char_") + string(chartype) + string("_left") //String wird erstellt: char_5_left
    3. sprite_index = choosen_char_left //sprite wechselt zu char_5_left


    Weiss nicht ob es funktioniert, aber so könnte es gehen.
  • Jop, genau der richtige Gedanke :thumbup:

    Du brauchst ein array oder grid, wasl eher ein Grid
    Das ist wie eine 2dimensionale Liste, entlang der x achse hast du zB die verschiedenen Charaktäre und entlang der y achse das spezifische sprite

    GML-Quellcode

    1. //create
    2. char = ds_grid_create(10, 10);
    3. ds_grid_set(char,0,0,spr_char0_bew0);
    4. ds_grid_set(char,0,1,spr_char0_bew1);
    5. ds_grid_set(char,1,0,spr_char1_bew0);
    6. //etc...
    7. //charakter
    8. sprite_index = ds_grid_get(char,0,1);


    Du musst nur vorher das Grid befüllen oder als Textdatei speichern/laden und auslesen lassen.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Danke für die Hilfe.
    Der vorschlag von Atomicmaster scheint mir für mein Projekt das richtige zu sein.
    Aku Ryous Vorschlag sieht zwar weniger Speicher zu benötigen wenn ich das richtig verstehe aber mir ist wichtig das es schnell möglich ist weitre Charaktere hinzuzufügen da mein Game Furry Charakter nutzt und das ist ein ziemlich umfangreicher Bereich.
    Dufners Tipp sieht interesannt aus aber da der Charakter über das object Player gesteuert wird muss der sprite nur gewechselt und nicht erschaffen werden aber ich schau mir dass mal an wenn ich an der GUI Design Einstellung arbeite.