Topdown mit WASD und Maussteuerung Sprite Problem

  • GM 8

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

  • Topdown mit WASD und Maussteuerung Sprite Problem

    Liebe gm-d Gemeinde

    Ich habe ein kleines Problem über das ich mir gerade den Kopf zerbreche...

    Ich möchte gerade ein Spiel erstellen, wo der Spieler mit den WASD tasten gesteuert wird und gleichzeitig mit der Maus die Gegner anzielt aktionen ausführt usw.

    Mein Problem ist nun folgendes: Das Spiel wird eine Grafik bekommen wie Zelda, Binding of Isac usw. Jetzt möchte ich, das die Figur immer in die richtige richtung, also zur Maus schaut. Damit das ganze auch gut aussieht benötige ich allerdings ein Script wo sich je nachdem wo sich die Maus befindet auch das Sprite ändert.Wenn die Maus sich links befindet muss also der Spieler auch nach links schauen egal ob ich mich nach links, rechts, oben oder unten bewege.
    Das einfache Script wo das Sprite einfach in die richtung der Maus sieht und sich richtig hindreht nützt mir nichts den das schaut nicht gut aus.

    Für jede hilfe bin ich Dankbar
    nur zur Info benutze GM8 auf Windows 7
  • LehmannRuss schrieb:

    Liebe gm-d Gemeinde

    Ich habe ein kleines Problem über das ich mir gerade den Kopf zerbreche...

    Ich möchte gerade ein Spiel erstellen, wo der Spieler mit den WASD tasten gesteuert wird und gleichzeitig mit der Maus die Gegner anzielt aktionen ausführt usw.

    Mein Problem ist nun folgendes: Das Spiel wird eine Grafik bekommen wie Zelda, Binding of Isac usw. Jetzt möchte ich, das die Figur immer in die richtige richtung, also zur Maus schaut. Damit das ganze auch gut aussieht benötige ich allerdings ein Script wo sich je nachdem wo sich die Maus befindet auch das Sprite ändert.Wenn die Maus sich links befindet muss also der Spieler auch nach links schauen egal ob ich mich nach links, rechts, oben oder unten bewege.
    Das einfache Script wo das Sprite einfach in die richtung der Maus sieht und sich richtig hindreht nützt mir nichts den das schaut nicht gut aus.

    Für jede hilfe bin ich Dankbar
    nur zur Info benutze GM8 auf Windows 7

    Da könntest du mit 4 Einfachen Abfragen arbeiten..
    Für jede Richtung müsstest du immer einen Test machen, stell es dir vor wie ein Koordinatenkreuz und der Player ist der Ursprung, bzw. der Nullpunkt.
    Nun überprüfst du einfach ob die Maus in eine der 4 Quadranten liegt, sprich ob die Maus oben rechts, unten rechts, oben links oder unten links liegt.
    Wenn ich es richtig verstanden habe sollen nur die 4 Richtungen überprüft werden.
    In dem Falle sollte die Methode also funktionieren.

    MfG Yivo
  • Wenn ich dich richtig verstanden habe, dann willst du nicht eine genaue Winkelprüfung, spricht das Sprite dreht sich immer zur Maus, sondern es soll immer in die Richtung schauen in der sich die Maus befindet,

    du könntest mit point_distance(self.x,self.y,mouse_x,mouse_y) arbeiten, der gibt dir den Winkel zurück zwischen 2 objecten

    und dann durch einfache if abfragen, die richtung bestimmen...

    GML-Quellcode

    1. Beispiel:
    2. winkel=point_direction(self.x,self.y,mouse_x,mouse_y)
    3. if(winkel>=0 and winkel<=45)
    4. image_angle=0;
    5. if(winkel>45 and winkel<=135)
    6. image_angle=90;
    7. .
    8. .
    9. .
    Alles anzeigen


    allerdings ist es so, das wenn du deinen Spieler nach oben oder unten bewegst und deine Maus an der aktuellen Pos lässt irgendwann der Winkel erreicht ist an dem das Sprite nach unten bzw oben zeigt...

    ne Alternative wäre einfach abzufragen ob die Mausposition < bzw > der self.x/self.y ist....
    damit könntest du auch feststellen in welche richtung sich dein Object drehen soll... und hättest die Probleme mit dem Winkel nicht,...

    MfG Blayde