Sprite Richtung Maus drehen

  • GM 8

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

  • Sprite Richtung Maus drehen

    Hi Leute,

    habe ein kleines Problem. Dazu hier eine kleine Grafik:



    Mein Sprite hat vier Richtungen: Oben(Subimage 0), Rechts(Subimage 1), Unten(Subimage 2), Links(Subimage 3). Wenn ich jetzt in den unteren Bereich Klicke (wie auf dem Bild), dann möchte ich, dass das zweite Subimage (also das für unten) angezeigt wird. Wenn ich in den rechten Bereich klicke das für rechts usw.

    Leider stehe ich gerade auf dem Schlauch und habe keine Ahnung, wie ich das Anstellen soll.
    Kann mir jemand helfen?
    Grüße Stupe
  • edit/ sorry war ein Blödsinn. Wie kommt es, dass wenn ich auf "Video einfügen" klicke der Beitrag dann abgesendet wird? 8| Habe nur testweise darauf geklickt.
    Wenn ich noch eine Lösung finde, dann editiere ich das hinein.

    edit 2:
    Angenommen der Nullpunkt vom Sprite ist in der Mitte:

    GML-Quellcode

    1. sprite_x = //hier x-koordinate vom nullpunkt einfügen
    2. sprite_y = //hier y-koordinate vom nullpunkt einfügen
    3. winkelvonmaus = point_direction(mouse_x,mouse_y,sprite_x,sprite_y)
    4. if mouse_check_button_pressed
    5. {
    6. if winkelvonmaus < 45 or winkelvonmaus >= 315
    7. {
    8. //erste spriteausrichtung
    9. }
    10. if winkelvonmaus >= 45 and winkelvonmaus < 135
    11. {
    12. //zweite spriteausrichtung
    13. }
    14. if winkelvonmaus >= 135 or winkelvonmaus < 225
    15. {
    16. //dritte spriteausrichtung
    17. }
    18. if winkelvonmaus >= 225
    19. {
    20. //vierte spriteausrichtung
    21. }
    22. }
    Alles anzeigen


    Code ist ungetestet.
    Hoffe, du kannst etwas damit anfangen.^^

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

  • vielleicht könnte man ja auch das einbauen:

    GML-Quellcode

    1. switch(floor(point_direction(x,y,mouse_x,mouse_y)/90)){
    2. case 0: sprite_index=spr_right break;
    3. case 1: sprite_index=spr_up break;
    4. case 2: sprite_index=spr_left break;
    5. case 3: sprite_index=spr_down break;
    6. }
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • SO werden nur leider die Winkel nicht genau eingehalten, wodurch es unrealistisch wirkt

    EDIT: Habe es mit deiner Lösung hingekriegt RLP. Musste ein bisschen was ändern. Hier mein Code:

    GML-Quellcode

    1. if ((angle < 45 and angle >= 0) or (angle >= 315)) {
    2. //rechts
    3. }
    4. if (angle >= 45 and angle < 135) {
    5. //oben
    6. }
    7. if (angle >= 135 and angle < 225) {
    8. //links
    9. }
    10. if (angle >= 225 and angle < 315) {
    11. //unten
    12. }
    Alles anzeigen


    Danke an alle für die Hilfe :)
    Grüße Stupe

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

  • Benutzer online 1

    1 Besucher