Slettet bruger
28. februar 2005 - 12:19
Der er
11 kommentarer og 1 løsning
Lav cirkel med ActionScript
Hej Esser Kender i en "smart" måde til at lave en cirkel på. Jeg skal lave 100 stk i et loop, så jeg vil gerne have det med så få parameter som muligt. Helst med en radius. OleIb
Annonceindlæg fra Lector
28. februar 2005 - 12:35
#1
Prøv at søge i hjælpfunktionen efter "circle" Jeg har selv brugt det en gang. Der skulle være en god forklaring.
28. februar 2005 - 12:37
#2
Tegn den med circle tool og dupliker den med actionscript?
28. februar 2005 - 12:49
#3
Du kan lave den med curveTo's eller lineTo's, men hvor meget det kræver afhænger helt af radius på cirklen, jo større, desto flere punkter.
Men kig på denne her:
http://actionscript.dk/eksperten/circles/ --
Morten Barklund
Slettet bruger
28. februar 2005 - 12:54
#4
Donslund Det har jeg prøvet, at for mange paramenter. Mat Hvordan gør man det? OleIb
28. februar 2005 - 13:07
#5
For mange parametre? Noget skal man vel angive?
Slettet bruger
28. februar 2005 - 13:21
#6
Ja, men det ville være dejligt med makeCircle(x,y,r); Kan du omskrive det med circles, så det bare lave en cirkel? OleIb
28. februar 2005 - 13:31
#7
Så bliver det vist noget med: function makeCircle(x, y, r) { var sub = _root.createEmptyMovieClip("m" + (++_root.unik), unik); sub._x = x; sub._y = y; sub.moveTo(r, 0); sub.lineStyle(1, 0, 100); var i, steps = 36; var dx, dy; for (i = 0; i < steps; i++) { dx = r * Math.cos(i / steps * (2 * Math.PI)); dy = r * Math.sin(i / steps * (2 * Math.PI)); sub.lineTo(dx, dy); } sub.lineTo(r, 0); } Skal den have større detaljeringsgrad, skal du ændre steps til et højere tal - altså hvis du vil lave store cirkler også. -- Morten Barklund
Slettet bruger
28. februar 2005 - 15:38
#8
Barklund Det kører, men unik er udskiftet med en anden tæller. Skulle det havde været _root.unik++ istedet Smid et svar OleIb
28. februar 2005 - 17:03
#9
Na: unik = 0; function makeCircle(x, y, r) { var sub = _root.createEmptyMovieClip("m" + ++unik, unik); sub._x = x; sub._y = y; sub.moveTo(r, 0); sub.lineStyle(1, 0, 100); var i, steps = 36; var dx, dy; for (i = 0; i < steps; i++) { dx = r * Math.cos(i / steps * (2 * Math.PI)); dy = r * Math.sin(i / steps * (2 * Math.PI)); sub.lineTo(dx, dy); } sub.lineTo(r, 0); } Virker fint :) -- Morten Barklund
28. februar 2005 - 17:07
#10
Eller, jeg har selvfølgelig ikke testet det ;)
Slettet bruger
28. februar 2005 - 17:08
#11
ok og tak Mangler et svar OleIb
28. februar 2005 - 17:16
#12
Mmmmm... :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.