animierte gestrichelte Linie

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

    • animierte gestrichelte Linie

      Hier ist mal ein Example mit dem sich eine animierte gestrichelte Linie zeichnen lässt.

      Dazu wird folgendes Script benötigt, nennt es z.B. scr_gestrichelte_linie:

      GML-Quellcode

      1. // Argumente :
      2. // x1,y1,x2,y2,Länge,Position(für Start 0 ansonsten Return),Geschwindigkeit
      3. var s, i, n, d, xl, yl, p1, p2;
      4. d = point_distance(argument0,argument1,argument2,argument3);
      5. xl = (argument2-argument0)/d;
      6. yl = (argument3-argument1)/d;
      7. s = ((argument5-argument4) mod (argument4*2))-argument4;
      8. n = ((d-s) div (argument4*2))+1;
      9. for (i=0; i<n; i+=1) {
      10. p1 = max(min(s+i*2*argument4,d),0);
      11. p2 = max(min(s+i*2*argument4+argument4,d),0);
      12. draw_line(argument0+p1*xl,argument1+p1*yl,argument0+p2*xl,argument1+p2*yl);
      13. }
      14. return (argument5+argument6) mod (argument4*2);
      Alles anzeigen


      Die Erklärung der Argumente:
      • argument0 (x1) : Die x-Koordinate des Startpunktes
      • argument1 (y1) : Die y-Koordinate des Startpunktes
      • argument2 (x2) : Die x-Koordinate des Endpunktes
      • argument3 (y2) : Die y-Koordinate des Endpunktes
      • argument4 (Länge) : Länge der einzelnen Striche und Zwischenräume in Pixel
      • argument5 (Position) : Animationsposition in Pixel (oder auch Verschiebung der Strich, bei 0 beginnt der erste Strich genau am Startpunkt)
      • argument6 (Geschwindigkeit) : Bewegung der Striche pro Step in Pixel (Animationsgeschwindigkeit)


      Um nun eine gestrichelte Linie zu zeichnen müsst ihr einfach das script in einem Draw-Event ausführen.
      Hier ist mal ein Beispiel wie das genau geht, damit auch die Animation funktioniert:

      Create Event

      GML-Quellcode

      1. pos = 0;


      Draw Event

      GML-Quellcode

      1. pos = scr_gestrichelte_linie(100,100,200,150,10,pos,1);


      Wie ihr an dem Beispiel erkennen könnt, wird irgendeine Variable benötigt um die Animationsposition zu speichern, in unserem Fall ist das die Variable "pos".
      Die Linie in unserem Beispiel geht von Punkt (100|100) bis zum Punkt (200|150). Die einzelnen Striche und Zwischenräume sind 10 Pixel lang und die Linie bewegt sich in jedem Step einen Pixel.

      Wenn sich eure gestrichelte Linie nicht bewegen soll braucht ihr nur folgende Zeile im Draw Event:

      GML-Quellcode

      1. scr_gestrichelte_linie(100,100,200,150,10,0,1);


      Ich hoffe das kann jemand gebrauchen, viel Spaß damit!

      MFG
      Bl@ckSp@rk
    • Der Code ist Super!!! Da ich :shifty: :shifty: anfänger :para: :para: bin würde ich sowieso nie auf so was kommen...

      Jedenfalls RESPEKT!
      Dieser Beitrag wurde bereits 192439845 mal editiert, zuletzt von »Schattenpuma« (6. Mai 2012, 00:00)

      Adventures of Smiley ; Van Eckig's Rückkehr. (Dieses nette Banner ist von "Tice" gemacht :3 Dankeschön!)

      Ihr wollt mir helfen? Kritik abgeben? Klickt auf das Banner!
    • Benutzer online 1

      1 Besucher