Sprite eines Objekts ändert sich nicht

  • GM 8

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

  • Sprite eines Objekts ändert sich nicht

    Hi GameMaker Domäne-Community.
    Ich habe ein Problem, undzwar das der sprite_index nicht geändert wird, obwohl ich das in ein Skript geschrieben habe.
    Hier der Code, danach erklär ich mein Problem genauer:

    GML-Quellcode

    1. if (keyboard_check(vk_down)) {if place_free(x,y+global.sp)&& global.attacke == false
    2. y+=global.sp}
    3. {
    4. sprite_index = spr_Spieler_gehen_U
    5. image_speed = .2
    6. }
    7. if (keyboard_check(vk_left)) {if place_free (x-global.sp,y) && global.attacke == false
    8. x-=global.sp;
    9. sprite_index = spr_Spieler_gehen_vrt
    10. image_speed = .2
    11. image_xscale =-1;
    12. }
    Alles anzeigen

    Dieser Code funktioniert bei mir, allerdings

    GML-Quellcode

    1. if (keyboard_check(vk_up)){if place_free(x,y-global.sp)&& global.attacke == false
    2. y-=global.sp}
    3. {
    4. sprite_index = spr_Spieler_gehen_O
    5. image_speed = .2
    6. }

    Nicht ganz. Das Objekt bewegt sich Problemlos nach oben, aber es ändert sich der sprite nicht(er ist wie bei spr_Spieler_gehen_U) , obwohl es ein anderer Sprite ist als bei der nach unten Bewegung.
    Trotz des Problems funktioniert aber die sprite-änderung von unten nach links und rechts und andersrum.
    Danke im Vorraus und ich weiß dass das nicht die schönste Formatierung ist ;)
  • GML-Quellcode

    1. if (keyboard_check(vk_up)){if place_free(x,y-global.sp)&& global.attacke == false
    2. y-=global.sp}
    3. {
    4. sprite_index = spr_Spieler_gehen_O
    5. image_speed = .2
    6. }

    das

    GML-Quellcode

    1. {
    2. sprite_index = spr_Spieler_gehen_O
    3. image_speed = .2
    4. }

    wird normalerweise immer ausgeführt oder gar nicht ich weis nicht wie es der gm macht
    denn du hast eine if Anweisung dann die Bedingung und hinter der Bedingung steht das
    Wahrscheinlich sollte es so heißen:

    GML-Quellcode

    1. if (keyboard_check(vk_up))
    2. {
    3. if place_free(x,y-global.sp)
    4. && global.attacke == false
    5. y-=global.sp
    6. sprite_index = spr_Spieler_gehen_O
    7. image_speed = .2
    8. }
    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
  • Ach dann so:

    GML-Quellcode

    1. if (keyboard_check(vk_up))
    2. {
    3. if place_free(x,y-global.sp)
    4. && global.attacke == false
    5. {
    6. y-=global.sp
    7. sprite_index = spr_Spieler_gehen_O
    8. image_speed = .2
    9. }
    10. }
    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