Richtung bestimmen

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

  • Richtung bestimmen

    Hi Leute,

    gibt es ne Variable oder habt ihr einen code der die richtung eines
    objects bestimmt?

    Wenn sich meine Figur zum Beispiel nach links bewegt, soll sich das Sprite dementsprechend ändern, das gleiche natürlich dann auch für rechts.

    Ich habs mit direction probiert, und mit vielen anderen sachen auch aber ich bekomm es einfach nicht hin.
    DU BIST, WAS DU ISST!!
  • Aber er hat doch GM unreg...

    €dit: Win hat die einzige GML möglichkeit. Mit GM unreg müsstest du den Sprite im Editor so oft zeichnen, bis er sich um seine eigene Achse gedreht hat. Diese müsstest du dann per GML je nach der richtung zeichnen. Frisst aber viel speicher und is umständlich...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Merko ()

  • Machen wir's ihm doch leicht: Animation > Rotation Sequence

    Da gibt's ne ganz bequeme Methode: sagen wir mal 36 Frames auswählen und dann im End Stepevent image_angle = ceil(direction)/36
    Dann guckt die Figut immer dahin wo sie hinläuft. Aber in wieviele Richtungen soll deine Hauptfigur denn laufen können? Nur acht? Dann kannste das nämlich auch auf acht Frames reduzieren.

    Übrigens sollte der Standard-Sprite nach rechts zeigen. Guckt deine Figur nämlich etwa nach oben, und soll sich in acht Richtungen bewegen, muss der Code so heißen:

    image_angle = ceil(direction)/8-90

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von F4LL0UT ()

  • Original von Merko
    Aber er hat doch GM unreg...

    oh! da hab ich gar nicht drauf geachtet.
    dann musst du die, von den anderen beschriebene möglichkeit der sprite erstellung nutzen und dann diesen code verwenden:

    GML-Quellcode

    1. image_index=(image_number/360)*direction


    hier noch ein beispiel:
    Dateien
    • drehen.zip

      (16,96 kB, 154 mal heruntergeladen, zuletzt: )
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Ups, ich glaube ich habe mich falsch ausgedrückt... :headtouch:

    Ich meinte nicht diese Art von Drehen (Rotation).

    Ich wollte wissen wie ich abfragen kann, ob sich mein Object nach links oder rechts bewegt. Das wars eigentlich. (Das mit dem Sprite lass ich diesmal weg, ich glaube das war irritierend)

    sorry :ops: :ops:
    DU BIST, WAS DU ISST!!
  • meinst du etwa nur nach rtechts oder links ???
    (so hab ich das jetzt verstanden) wenn ja das im step event:

    GML-Quellcode

    1. //Abfrage ob man rechts drückt -> folge er läuft nach rechts!
    2. if ( keyboard_check( vk_right))
    3. {
    4. direction = 0;
    5. speed = 3;
    6. sprite_index = held_rechts
    7. }
    8. //Abfrage ob man links drückt -> folge er läuft nach links!
    9. if ( keyboard_check( vk_left))
    10. {
    11. direction = 180;
    12. speed = 3;
    13. sprite_index = held_links
    14. }
    15. }
    Alles anzeigen


    €d!t:
    Sry wegenb den 2 mal editiren hatte auf das wort GML für den code net richtig geachtet dann ging das nicht ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Metalknight ()

  • ASO, das meinste^^
    OK das geht so im Step-Event des Gegners:

    GML-Quellcode

    1. if obj_player.x < x // Wenn der Spieler links vom Gegner ist, dann:
    2. {
    3. image_xscale=-1 // gegner spiegel dich von rechts nach links
    4. }
    5. else // Wenn nicht, dann:
    6. {
    7. image_xscale=1 // spiegelt sich der Gegner von links nach rechts:
    8. }

    Beim Spiegeln kommt es darauf an, wie der Sprite gerichtet ist. Wenn er nach rechts schaut, wird er nach links gespiegelt. Wenn er aber nach links ausgerichtet ist, wird er nach rechts gespiegelt ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Merko ()