AS2 Class.Draw HowTo

Inserito il 30-10-2007

Rilascio pubblicamente una classe che si occupa di disegnare runtime delle forme semplici, come rettangoli, cerchi eccetera, attraverso una serie di metodi statici.

La classe Draw è liberamente scaricabile da ../classes/draw.zip, in cui troverete anche un esempio di utilizzo dei metodi nel codice.

Per utilizzare la classe, è necessario inserirla nella stessa cartella del fla su cui vengono richiamati i metodi

Ecco l'elenco dei metodi, e quindi delle forme, disponibili:

Ogni metodo prevede la possibilità di scegliere il colore e lo spessore del bordo, il colore del riempimento e la sua opacità, nonchè di assegnare direttamente al clip creato, le proprietà di aspetto principali come la posizione (_x e _y), il fattore di scala (_xscale, _yscale), la rotazione e l'opacità (_rotation, _alpha). Tutti i parametri necessari all'utilizzo dei metodi statici, sono spiegati all'interno della classe stessa attraverso i commenti.

Il file di esempio è disponibile solo per la versione 8 di flash; per completezza riporto qui il codice dell'esempio, nel caso non si possedesse una versione di Flash superiore alla 7.

// public static function rect(target:MovieClip, name:String, level:Number, width:Number, height:Number, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var rect:MovieClip = Draw.rect(this, 'rect', 1, 100, 100, 1, 0, 0, {alphaFill: 50});
// public static function circle(target:MovieClip, name:String, level:Number, radius:Number, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var circle:MovieClip = Draw.circle(this, 'circle', 2, 50, 1, 0, 0, {alphaFill: 50});
// public static function poly(target:MovieClip, name:String, level:Number, radius:Number, sideNum:Number, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var poly:MovieClip = Draw.poly(this, 'poly', 3, 50, 5, 1, 0, 0, {alphaFill: 50});
// public static function ipoly(target:MovieClip, name:String, level:Number, arrayOfCoords:Array, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var ipoly:MovieClip = Draw.ipoly(this, 'ipoly', 4, [[50,0],[100,100],[0,100]], 1, 0, 0, {alphaFill: 50});
// public static function star(target:MovieClip, name:String, level:Number, externalRadius:Number, internalRadius:Number, starTips:Number, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var star:MovieClip = Draw.star(this, 'star', 5, 50, 25, 5, 1, 0, 0, {alphaFill: 50});
// public static function round(target:MovieClip, name:String, level:Number, width:Number, height:Number, roundRadius:Number, border:Number, borderColor:Number, color:Number, objectInit:Object):MovieClip
var round:MovieClip = Draw.round(this, 'round', 6, 100, 100, 20, 1, 0, 0, {alphaFill: 50});

Come sempre sono bene accetti commenti, modifiche e implentazioni, saluti!