c'è un articolo sui drawing metods sul sito, ma è realizzato per AS1... anche se in realtà in as3 non cambia molto, solo che esiste una classe preposta per il disegno runtime
per fare un triangolo a coordinate libere ad esempio io ho scritto questa funzione:
Codice PHP:
function drawTriangle(n:String, vObj:Object, b:Number=0, bCol:Number=0, c:Number=0, iObj:Object=null):Shape {
var s:Shape=new Shape;
s.name=n;
with (s) {
if (iObj != null) {
x = iObj.x != undefined ? iObj.x : 0;
y = iObj.y != undefined ? iObj.y : 0;
scaleX = iObj.scaleX != undefined ? iObj.scaleX : 1;
scaleY = iObj.scaleY != undefined ? iObj.scaleY : 1;
alpha = iObj.alpha != undefined ? iObj.alpha : 1;
rotation = iObj.rotation != undefined ? iObj.rotation : 0;
alphaFill = iObj.alphaFill != undefined ? iObj.alphaFill : 1;
} else {
x=0;
y=0;
scaleX=1;
scaleY=1;
alpha=1;
rotation=0;
alphaFill=1;
}
graphics.lineStyle(b == 0?b=undefined:b,bCol);
graphics.moveTo(vObj.ax,vObj.ay);
graphics.beginFill(c,alphaFill);
graphics.lineTo(vObj.bx,vObj.by);
graphics.lineTo(vObj.cx,vObj.cy);
graphics.lineTo(vObj.ax,vObj.ay);
graphics.endFill();
}
return s;
}
che si usa così
Codice PHP:
var shape:Shape = drawTriangle("triangle", {ax: -100, ay:100, bx:100, by:100, cx:0, cy:-100}, 0,0,0x00FFCC, {}));
addChild(shape)
i parametri della funzione sono:
n -> il nome da dare al clip
vObj -> l'oggetto che contiene le coppie di valori che indicano le coordinate dei vertici del triangolo, rispettivamente :
- ax,ay
- bx,by
- cx,cy
b -> la dimensione del bordo
bCol -> il colore del bordo
c -> il colore del riempimento
iObj -> un oggetto che raccoglie la definizione delle proprietà del shape, ad esempio le coordinate, la scala, l'apha, la rotazione ecc...