Zeichnen eines Kreises mit ActionScript
Verursachen Sie eine Gewohnheit
MovieClip.drawCircle() Methode mit der zeichnenden API und rufen Sie
sie auf einem Filmclip hervor.
Sie können einen Kreis in ActionScript mit acht Kurven
verursachen. Wenige Kurven ergibt einen verzerrten Kreis und zu
viele Kurven hindert Leistung. Lassen Sie uns eine
kundenspezifische Methode der MovieClip Kategorie für das Zeichnen
der Kreise verursachen. Diese Methode, drawCircle(), läßt drei
Parameter zu:
Radius
Der Radius des Kreises
x
Die x Koordinate des Mittelpunkts des Kreises.
Wenn er undefined, wird der Kreis an x = 0 zentriert.
y
Die y Koordinate des Mittelpunkts des Kreises.
Wenn er undefined, wird der Kreis an y = 0 zentriert.
Definieren Sie die kundenspezifische drawCircle() Methode
auf MovieClip.prototype, um es zu machen zugänglich für allen
Filmclip instances:
MovieClip.prototype.drawCircle = Funktion (Radius, x, y),
ist {// der Winkel von jedem der acht Segmente 45 Grad (360 teilten
sich durch 8), das// angleDelta var Einheitswinkel der
Gleichgestellten p/4 = Math.PI/4;
//Entdeckung der Abstand von der Mitte des Kreises zu den
Abfertigungsschaltern für das Kurven var ctrlDist =
radius/Math.cos(angleDelta/2);
//initialisieren Sie den Winkel bis 0 und definieren Sie
lokale Variablen, die für// Steuer- und Endepunkte var Winkel = 0
verwendet werden; var rx, Relais, Axt, ay;
//Bewegung zum Ausgangspunkt, ein Radius auf der rechten
Seite der Mitte des Kreises this.moveTo(x + Radius, y);
//Wiederholung achtmal, acht Segmente für zu verursachen
(var I = 0; I < 8; i++) {
//Stufensprung der Winkel durch das angleDelta
(p/4) zum des vollständigen Kreises (2p) zu verursachen. Winkel
+ = angleDelta;
//die Abfertigungsschalter werden mit Sinus und Kosinus
abgeleitet. rx = x + Math.cos(angle-(angleDelta/2))*(ctrlDist);
Relais = y + Math.sin(angle-(angleDelta/2))*(ctrlDist);
//die Ankerpunkte (Ende Punkte der Kurve) kann zu// zu den
Abfertigungsschaltern ähnlich gefunden werden. Axt = x +
Math.cos(angle)*radius; ay = y + Math.sin(angle)*radius;
//abgehobener Betrag das Segment this.curveTo(rx, Relais,
Axt, ay); }}
Wie die drawCircle() Methode Funktionen besser mit
einer wenig Erklärung verstanden wird.
Der Abstand des Abfertigungsschalters für jedes Segment
von der Mitte des Kreises wird gefunden, eine trigonometrische diese
Formel zu verwenden Zustände, daß der Kosinus eines Winkels der
angrenzenden Seite über der Hypothenuse gleich ist. Im Fall vom
Kreis, ist der Winkel, der halbiert, ein Segment (folglich seinen
Abfertigungsschalter auch schneiden) p/8 (angleDelta/2). Der
Abstand zum Abfertigungsschalter von der Mitte des Kreises bildet die
Hypothenuse des rechten Dreiecks.
var ctrlDist = radius/Math.cos(angleDelta/2);
Grundlegende trigonometrische Formeln können verwendet
werden, um die x und y Koordinaten entlang dem Umkreis des Kreises zu
finden, der den Winkel und die Hypothenuse gegeben wird. Für
den Abfertigungsschalter ist der Hypothenusewert ctrlDist, und der
Winkel ist Winkel - angleDelta/2, da dieser Winkel das Segment
halbiert. Der Ankerpunkt wird gefunden, den Wert des Winkels,
der, um errechnet wird der Winkel zu sein, der den Ankerpunkt
schneidet, und des Radius des Kreises zu verwenden (da der Ankerpunkt
auf dem Umkreis des Kreises immer sein sollte). So folgt er:
rx = x + Math.cos(angle-(angleDelta/2))*(ctrlDist);
Relais = y + Math.sin(angle-(angleDelta/2))*(ctrlDist);
Axt = x + Math.cos(angle)*radius; ay = y +
Math.sin(angle)*radius;
Sobald Sie die drawCircle() Methode definiert und sie in
Ihrem grellen Dokument eingeschlossen haben, können Sie einen Kreis
mit gerade einigen Linien des Codes schnell zeichnen. Erinnern
Sie daran, daß Sie noch eine Linie Art definieren müssen, bevor
Blitz alles zeichnet.
//verursachen Sie einen Filmclipfall, in dem Sie den Kreis
this.createEmptyMovieClip("circle_mc" zeichnen, 1);
//definieren Sie ein 1-pixel, Schwarzes, Vollinienart
circle_mc.lineStyle(1, 0x000000, 100);
//abgehobener Betrag ein Kreis von Radius 100, zentriert
an (50.75). circle_mc.drawCircle(100, 50, 75);
//abgehobener Betrag ein Kreis von Radius 65, zentriert an
(0.0). circle_mc.drawCircle(65);
Sie können einen Kreis füllen, indem Sie beginFill()
oder beginGradientFill() vor drawCircle() hervorrufen und endFill()
nach drawCircle() hervorrufen:
this.createEmptyMovieClip("circle_mc", 1);
circle_mc.lineStyle(1, 0x000000, 100); //Gebrauch ein
1-pixel, Schwarzes, fester Rand circle_mc.beginFill(0x0000FF);
//Gebrauch eine feste blaue Fülle circle_mc.drawCircle(100);
circle_mc.endFill();
dieses ist ein Artikel, der von Elis Frugalo hinzugefügt
wird
Verzicht: Unsere Web site ist
nicht zu der Information verantwortlich, die durch diesen Artikel
enthalten wird. Dieser Artikel reflektiert keineswegs die
Ansichten, die Meinungen, die Gedanken oder den Glauben des
Artikelverzeichnisstabes.
Übersetzung Nachricht: Der Artikel ",
der einen Kreis verwendet ActionScript" zeichnet, wurde mit einem
automatisierten Übersetzungsdienst übersetzt. Wir
entschuldigen herzlichst uns für alle mögliche Übersetzung
Störungen, die auftraten. Danke für das Verstehen.