direction in hspeed und vspeed umrechnen.

  • GM 8

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

  • direction in hspeed und vspeed umrechnen.

    Hi, ich habe ein kelines problem mit meien game.

    Ich lasse mehrere "kräfte" auf ein objekt wirken, und berechne dann die geschwindichkeit mit hspeed un vspeed, damite das objekt sich richtig bewegt.
    zb: objekt1 wird von kraft 1 mit stärke 2 nach rechts gzogen, und von kraft 2 mit stärke 3 nahc links. jetzt bewegt sich das objekt mit geschwindichkeit 1 nach links.
    ich möchte allerdings die kraft it direction angeben, und muss dazu direction in hspeed und vspeed umrechnen. ich weiß das es mit cos und tan rechnugen möglich ist, komme aber ncht auf den code

    kann mir vieleicht jemand dabei helfen?
  • Ich bin mir nicht ganz sicher (Mathe ist schon sooooo lange her ^^).

    Aber probier' mal das aus:

    vspeed=kraft * sin (direction)
    hspeed=kraft * cos (direction)
    Der Herr gebe mir die Gelassenheit, die Dinge zu ertragen, die ich nicht ändern kann,
    den Mut, die Dinge zu ändern, die ich ändern kann,
    und die Weisheit, zwischen beiden zu unterscheiden.
  • arghhh

    Was war das -.-
    und wo ist der bearbeiten knopf!!

    also da gehört noch drunter:


    ich hab das jez ausprobiert aber irgendwie wabbelt der player nur rumm und geht dann irgendwann in die richtige richtung aber auch nur manchmal
    so hab ichs benutzt:

    GML-Quellcode

    1. direction=point_direction(x,y,mouse_x,mouse_y)
    2. vspeed=3 * sin (direction)
    3. hspeed=3 * cos (direction)

  • Bearbeiten ist im gelöst-Topic blöderweise ausgeschaltet.
    Die locale variable direction berechnet der GM am Ende jedes Steps normalerweise automatisch. Der Fehler könnte darin liegen.

    versuchs mal so:

    GML-Quellcode

    1. var a;
    2. a = point_direction(x,y,mouse_x,mouse_y);
    3. vspeed=3 * sin (a);
    4. hspeed=3 * cos (a);

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • jo der code den ihr mir gegeben hattet war falsch, aber da habe ich mich sofort an mathe erinnert und die lösung gefunden, sorry das ich es nciht gepostet habe.
    mit diesem code kann man übrigens auch direction in point umrechnen.
    sehr sher hilfreich

    GML-Quellcode

    1. my_dir=eure_richtung;
    2. vspeed=2*sin(-my_dir*pi/180);
    3. hspeed=2*cos(-my_dir*pi/180);
  • Zwei Anmerkungen:

    1.: Statt x*pi/180 kannst du auch die Funktion degtorad() verwenden. Im schlimmsten Fall macht sie genau das gleiche, im besseren Fall wurde bei der Funktion im Vergleich zu zwei Rechenoperationen etwas optimiert und in beiden Fällen sieht man, was die Berechnung an der Stelle soll.
    2.: cos(-x) == cos(x), d.h. das Minus in der 2. Zeile ist eigentlich überflüssig.