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:
Alles anzeigen
Die Erklärung der Argumente:
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
Draw Event
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:
Ich hoffe das kann jemand gebrauchen, viel Spaß damit!
MFG
Bl@ckSp@rk
Dazu wird folgendes Script benötigt, nennt es z.B. scr_gestrichelte_linie:
GML-Quellcode
- // Argumente :
- // x1,y1,x2,y2,Länge,Position(für Start 0 ansonsten Return),Geschwindigkeit
- var s, i, n, d, xl, yl, p1, p2;
- d = point_distance(argument0,argument1,argument2,argument3);
- xl = (argument2-argument0)/d;
- yl = (argument3-argument1)/d;
- s = ((argument5-argument4) mod (argument4*2))-argument4;
- n = ((d-s) div (argument4*2))+1;
- for (i=0; i<n; i+=1) {
- p1 = max(min(s+i*2*argument4,d),0);
- p2 = max(min(s+i*2*argument4+argument4,d),0);
- draw_line(argument0+p1*xl,argument1+p1*yl,argument0+p2*xl,argument1+p2*yl);
- }
- return (argument5+argument6) mod (argument4*2);
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:


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:
Ich hoffe das kann jemand gebrauchen, viel Spaß damit!
MFG
Bl@ckSp@rk