Von Sprite und Subimage wechseln wenn Sprungrichtung sich in der Luft ändert (Links Springen Rechts Springen)

  • GM 8
  • Von Sprite und Subimage wechseln wenn Sprungrichtung sich in der Luft ändert (Links Springen Rechts Springen)

    Hallo, kann mir jemand sagen wie ich am besten von einem Sprite und Subimage z.B für nach Rechts Springen zu nach Links Springen ändere,
    wenn eine andere Richtungstaste gedrückt wird?

    Meine Idee wäre im Left Pressed Event und im Right Pressed Event so:

    Quellcode

    1. if
    2. sprite_index=example1R image_index=0
    3. {
    4. sprite_index=example1L image_index=1
    5. }
    6. if
    7. sprite_index=example1R image_index=1
    8. {
    9. sprite_index=example1L image_index=2
    10. }

    usw, für jedes nötige sprite und subimage im Left und Right pressed Event x/
    gibt es auch eine einfachere Lösung?
    Man kann ja das Sprite im Code spiegeln, hätte ich vielleicht von Anfang an machen sollen.
    Werde ich wohl auch tun wenn keiner eine Alternative weiß :l
    PS: würde es mehr Leistung beanspruchen alles so wie oben zu coden, als das Sprite zu Spiegeln?

    Danke ;D
    Ware wa messiah nari! Hahaha
  • famous schrieb:

    Normals sollte es reichen den sprite_index zu wechseln. Falls nicht speicher den image_index zwischen.

    GML-Quellcode

    1. ii = image_index;
    2. sprite_index = spriteAnderes;
    3. image_index = ii;
    Ist das eine Art image_index check der dann bei dem anderen Sprite übernommen wird?
    Z.B.

    GML-Quellcode

    1. var_subimcheck=image_index
    2. if
    3. sprite_index=example1R
    4. {
    5. sprite_index=example1L image_index=var_subimcheck
    6. }

    Funktioniert das so? Sieht zu einfach aus um Wahr zu sein >;D
    Ach ja, und es sollte noch 1 Subimage weiter sein wenns wechselt, sonst siehts behindert aus, wenn man schnell hin und her drückt x)
    Ich hab da
    (gmc.yoyogames.com/index.php?showtopic=485747)
    eben was drüber gelesen, man kann wohl

    GML-Quellcode

    1. image_index += 1

    benutzen, um ein Subimage weiter zu gehen.

    Danke für die Hilfe! ;/<-<
    Ware wa messiah nari! Hahaha
  • Du willst also wenn dein Spieler in der Jump animation ist und nach rechts guckt und du dann links drückst er sich nach links dreht?

    Wenn ja dann mach es doch einfach so:

    GML-Quellcode

    1. if(keyboard_check_pressed(vk_left) && sprite_index=Player_jump)
    2. {
    3. if (image_xscale=1)
    4. {
    5. image_xscale=-1;
    6. }
    7. }
    8. if(keyboard_check_pressed(vk_right)&& sprite_index=Player_jump)
    9. {
    10. if (image_xscale=-1)
    11. {
    12. image_xscale=1;
    13. }
    14. }
    Alles anzeigen


    Das spiegelt den Sprite halt einfach nur.
    Imagine taking your usual two century long nap minding your own business when suddenly some cunt wakes you up.
    You tell him to f*ck off of course but just when you finally managed to fall asleep again the same asshole comes knocking again. I'd attack that dick too.
  • So, hab jetzt mein Spiel passend umgeschrieben x)
    Verwende jetzt also image_xscale=-1 um die Sprites zu spiegeln.

    Funktioniert alles soweit wunderbar, aber wenn ich mich nach links drehe
    springe ich auch ein ganzes Stück nach links, anstatt mich auf der Stelle zu drehen.
    Drehe ich mich wieder nach rechts, sind die Sprites wieder nach rechts ausgerichtet(image_xscale=1). Aber ich springe auch wieder ein Stück.

    Ich brauche jetzt also eine Funktion mit der ich die x-Position des Sprites/Images so ändern kann, dass es an Ort und Stelle erscheint wenn ich mich nach links drehe.
    Und zwar am besten für alle folgenden Sprites, wie mit image_xscale=-1


    Danke für die Hilfe!

    -Kevin
    Ware wa messiah nari! Hahaha
  • Drachen schrieb:

    Hi

    Hast du mal geschaut wo dein X, Y - Punkt ist vom Sprite!
    Davon ist es nämlich abhängig wie deine Sprite gespiegelt wird. Am Besten in die Mitte setzen vom Sprite.

    Gruss Drachen
    Hatte das mal bei einem EINZELNEN Sprite probiert, was dann natürlich irgendwo im Boden hing oder so.

    Wenn man das allerdings bei allen Sprites macht, ist das Problem gelöst xP
    OK, danke :D
    Ware wa messiah nari! Hahaha