Disegno del triangolo usando ActionScript


  Share  
|


Generi un metodo di abitudine MovieClip.drawTriangle() usando l'api di disegno ed invochilo su una clip di film.

Potete determinare e tracciare i vertici di un triangolo dato le lunghezze di due lati e l'angolo fra loro. Ciò è un metodo migliore che specificando le lunghezze dei tre lati perché conoscendo loro le lunghezze di due lati e l'angolo determina sempre un triangolo, mentre tre lati arbitrari non possono adattare insieme per fare un triangolo.

Il metodo su ordinazione del drawTriangle() accetta sei parametri:

ab
La lunghezza del lato ha formato fra i punti a e b

CA
La lunghezza del lato ha formato fra i punti a e c

angolo
L'angolo (nei gradi) fra i lati ab e CA.

rotazione
La rotazione del triangolo nei gradi. Se 0 o il CA undefined e laterale mettono l'asse in parallelo di x.

x
Di coordinata x del centro di massa (il punto concentr) del triangolo.

y
Di coordinata y del centro di massa del triangolo.

Definisca il metodo su ordinazione del drawTriangle() su MovieClip.prototype per metterlo a disposizione di tutta la clip di film cita ad esempio:

//includa la biblioteca per la matematica su ordinazione 
per accedere a Math.degToRad(). # includa "Math.as"
MovieClip.prototype.drawTriangle = funzione (ab, 
CA, angolo, rotazione, x, y) {
 //convertito l'angolo fra i lati dai gradi 
all'angolo di radianti = Math.degToRad(angle);
 //convertito la rotazione del triangolo dai gradi a 
rotazione di radianti = Math.degToRad(rotation);
 //calcoli le coordinate dei punti b e del bx del c. 
varietà = di Math.cos(angle - rotazione) * ab; varietà da = 
Math.sin(angle - rotazione) * ab; varietà cx = 
Math.cos(-rotation) * CA; varietà = Math.sin(-rotation) cy * 
CA;
 //calcoli il centroidX di coordinate varietà del centro 
di massa = (cx + bx)/3 - x; varietà centroidY = (cy + by)/3 - 
y;
 //movimento verso punto a, allora disegna la linea CA, 
allora allinea i Cb ed infine il Ba (ab). 
this.moveTo(-centroidX, - centroidY); this.lineTo(cx - 
centroidX, cy - centroidY); this.lineTo(bx - centroidX, vicino -
centroidY); this.lineTo(-centroidX, - centroidY); }

Ci sono alcuni punti circa questo metodo che sopportano ulteriore discussione.

Indichi la a sempre sarà il punto di rotazione, in modo da non dovete calcolarli siete coordinate. Tuttavia, i punti b e c devono essere calcolati (usando i rapporti trigonometrici di base). Definiamo il punto b all'estremità della linea ab ad angolo dell'angolo in unrotated il triangolo. Al fattore nella rotazione sottraiamo la rotazione dall'angolo. Definiamo il punto c per essere all'estremità della linea CA. In unrotated il triangolo, il punto c è sullo stesso asse di x del punto a, ma al fattore nella rotazione dovreste sottrarre la rotazione dall'angolo fra la linea il CA (ed in se, che è, naturalmente, 0). Ciò li conduce a:

bx di varietà = Math.cos(angle - rotazione) * ab; 
varietà da = Math.sin(angle - rotazione) * ab; varietà 
cx = Math.cos(-rotation) * CA; varietà = Math.sin(-rotation) cy
* CA;

Di coordinata x del centro di massa di un triangolo è calcolato aggiungendo insieme di coordinata x dei vertici e dividendo per tre. Di coordinata y è trovato in un modo analogo. Nel nostro metodo del drawTriangle(), le coordinate di punto a sono sempre (0, 0), in modo da esso non fattore nell'equazione. Sottraiamo la x e gli input di y dal centro di massa coordina per rappresentare l'immagine riportata affatto prestabilita dall'utente:

centroidX di varietà = (cx + bx)/3 - x; varietà 
centroidY = (cy + by)/3 - y;

Qui è un esempio di come usare il metodo del drawTriangle(). Noti che ancora dovete definire la linea stile prima dell'invocazione del metodo del drawTriangle().

//tiraggio un triangolo con i lati di 100 e 200 pixel e un
angolo di 30 gradi di this.createEmptyMovieClip("triangle_mc", 1); 
triangle_mc.lineStyle(1, 0x000000, 100); //uso un 
un-pixel, un nero, un bordo solido triangle_mc.drawTriangle(100, 200, 
30);
 
ciò è un articolo aggiunto da Elis Frugalo


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions