Pfeil mit einer definierten Länge

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

  • Pfeil mit einer definierten Länge

    Hi!
    Ich möchte einen Pfeil von einem Objekt aus in die Richtung der Maus zeigen lassen. Das ist schon mal kein Problem! Schwierigkeiten bereitet mir, dass ich es gerne so hätte, dass der Pfeil immer eine feste Länge hat (z.B. 100) egal wie weit die Maus von dem Objekt (in meinem Beispiel: obj_ball) weg ist, nur die Richtung des Pfeils ist entscheidend.

    Meine Sachen aus der Schule zur Vektorrechnung hab ich schon mal rausgekramt, da ich gedacht hatte ich könnte den Richtungspfeil "normieren", aber das hat irgendwie nicht so geklappt. Vielleicht bin ich aber auch nur ne Niete in Vektorrechnung! :D

    So sah mein Versuch aus:

    GML-Quellcode

    1. vektor_x = obj_ball.x + mouse_x;
    2. vektor_y = obj_ball.y + mouse_y;
    3. laenge_vektor = point_distance(obj_ball.x,obj_ball.y,mouse_x,mouse_y);
    4. // Vektor normieren (Laenge = 1)
    5. normiert_x = vektor_x / laenge_vektor;
    6. normiert_y = vektor_y / laenge_vektor;
    7. // Pfeil mit Laenge 100 zeichnen (Normiert * 100)
    8. draw_arrow(obj_ball.x+5,obj_ball.y+5,normiert_x*100,normiert_y*100,12);
  • Im Step-Event:

    GML-Quellcode

    1. direction1 = point_direction(mouse_x,mouse_y,obj_ball.x,obj_ball.y)

    Im Draw-Event:

    GML-Quellcode

    1. x1 = x+lengthdir_x(100,direction1);
    2. y1 = y+lengthdir_y(100,direction1);
    3. // Draw Pfeil

    Die genaue Erklärung zu lengthdir_x/y findest du hier.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Danke schon mal! Da hab ich wohl zu kompliziert gedacht bei meinem Versuch! :)

    Aber es klappt leider immer noch nicht, es kommt die Meldung "Unknown variable direction1" (beim Aufruf des "Draw Events"), wenn ich den Code so übernehme wie du ihn mir geschrieben hast.

    Mein Versuch das direction1 mit global.direction1 zu ersetzen hat auch nicht geholfen...