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 tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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.