| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Hobbyflasher Registriert seit: Apr 2003 Ort: Austria
Beiträge: 93
| Kreis in FlashMX zeichnen lassen
Hallo Leute Ich hatte gestern das Problem, dass ich mir einen Kreis zeichnen lassen wollte, bemerkte aber bald dass da mit mc.curveTo(); eher so ein stark abgerundetes Viereck als ein echter Kreis rauskam. Hab da mal versucht was eher kreismäßigeres rauszubekommen und einfach den Kreis mehr unterteilt als nur 4mal. Dachte mir dann vielleicht haben andere Anfänger auch ähnliche Probleme also stell ich meine function zum kreisezeichnen mal hier rein. Einfach die Funktion circle aufrufen und die Parameter für den Anfangspunkt, Radius, Strichstärke, Strichfarbe, Strichalpha, Füllfarbe und Füllalpha übergeben und das wars. Code: function circle(xm, ym, rad, line_height, line_color, line_alpha, fill_color, fill_alpha){
this.x = xm;
this.y = ym;
this.r = rad;
this.lh = line_height;
this.lc = line_color;
this.la = line_alpha;
this.fc = fill_color;
this.fa = fill_alpha;
beginFill(fc, fa);
lineStyle(lh, lc, la);
moveTo(x, y);
curveTo(x+Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), y, x+Math.sin(Math.PI/4)*r, y+r-Math.sin(Math.PI/4)*r);
curveTo(x+r, y+r-Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), x+r, y+r);
curveTo(x+r, y+r+Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), x+Math.sin(Math.PI/4)*r, y+r+Math.sin(Math.PI/4)*r);
curveTo(x+Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), y+2*r, x, y+2*r);
curveTo(x-Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), y+2*r, x-Math.sin(Math.PI/4)*r, y+r+Math.sin(Math.PI/4)*r);
curveTo(x-r, y+r+Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), x-r, y+r);
curveTo(x-r, y+r-Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), x-Math.sin(Math.PI/4)*r, y+r-Math.sin(Math.PI/4)*r);
curveTo(x-Math.sqrt(Math.pow((r/Math.cos(Math.PI/8)),2)-Math.pow(r, 2)), y, x, y);
endFill();
}
__________________ /bin immer noch anfänger/ /versuch dies aber schnell zu ändern!/ |
| | |
| | #2 (permalink) |
| Gast
Beiträge: n/a
|
Für den "Hausgebrauch" reicht es auch, folgendes kleines Script zu nehmen, um einen gefüllten Kreis zu zeichnen: ActionScript:
Der Trick dabei ist, eine ganz kurze aber dicke Linie zu zeichnen. Da Flash die Linie abrundet, sieht es wie ein Kreis aus... |
|
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2006 Ort: Stuttgart
Beiträge: 50
|
Irgendwas stimmt mit den Mittelpunkt nicht. Wenn ich moveTo(100,100); lineTo(200,100); und dann circle Funktion verwende mit xm=150 und ym=100 setze, und den radius klein wähle erkennt man das der kreis nicht auf dem strich liegt. Weiss aber net ob circle nicht genau zeichnet oder LineTo, bzw moveTo |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |