Position im Abstand r = 20 von obj_x auf direction der Maus (Mittelpunkt obj_x) bestimmen (guckst du Bild)

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

  • Position im Abstand r = 20 von obj_x auf direction der Maus (Mittelpunkt obj_x) bestimmen (guckst du Bild)

    Hi Leutz,

    wie kann ich die Position um mein obj_x (Pos = obj_x.x,obj_x.y) im abstand (r = 20) um ihn herum bestimmten wenn der winkel die gleich der des Winkels der Pos der Maus zum Objekt ist.
    Bei Sprites hab ich das mit hilfe von draw_sprite_ext udn einigen anderne nützlichen funktionen hinbekommen bei Instancen find ich leider keine solche funktionen :(

    puh, hoffe habs richtig erklärt, wenn nicht siehe bild hoffe das erklärt mehr. :)


    M (Pos = obj_x.x,obj_x.y), Pm (Pos = mouse_x,mouse_y), r (=20) sind mir als einzigstes bekannt :(
    P1 hät ich gerne

    thx for help!

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

  • Auszug aus der Hilfe:
    lengthdir_x(len,dir)
    Gibt die horizontale x-Komponente von dem Vektor bestimmt durch die gegebene Länge und Richtung wieder.
    lengthdir_y(len,dir) Gibt die vertikale y-Komponente von dem Vektor bestimmt durch die gegebene Länge und Richtung wieder.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • entweder bin cih doof oder es gelingt mir nicht den winkel zu berechnen :(

    GML-Quellcode

    1. len_c = point_distance(obj_player.x,obj_player.y,mouse_x,mouse_y);
    2. len_a = point_distance(obj_player.x,obj_player.y,mouse_x,obj_player.y);
    3. winkel = cos(len_a/len_c);
    4. move_towards_point(obj_player.x+lengthdir_x(40,winkel),obj_player.y+lengthdir_y(40,winkel),2);
  • Von der Idee her nicht schlecht, aber viel zu kompliziert, du musst gar keinen Winkel berechnen

    GML-Quellcode

    1. var l;
    2. l = point_distance(obj_player.x,obj_player.y,mouse_x,mouse_y);
    3. move_towards_point(obj_player.x+(mouse_x-obj_player.x)/l*20,obj_player.y+(mouse_y-obj_player.y)/l*20,2);
  • Benutzer online 1

    1 Besucher