Per comodità, quando si disegnano forme comuni come cerchi, ellissi, rettangoli e rettangoli arrotondati, ActionScript 3.0 fornisce dei metodi che disegnano tali forme automaticamente. Si tratta dei metodi
drawCircle()
,
drawEllipse()
,
drawRect()
e
drawRoundRect()
della classe Graphics. Questi metodi possono essere utilizzati al posto dei metodi
lineTo()
e
curveTo()
. Notate tuttavia che è comunque necessario specificare gli stili di linea e di riempimento prima di chiamare questi metodi.
L'esempio seguente ricrea l'esempio dei quadrati rossi, verdi e blu con una larghezza e un'altezza di 100 pixel. Questo codice utilizza il metodo
drawRect()
, inoltre specifica che il colore di riempimento ha un valore alfa del 50% (0.5):
var squareSize:uint = 100;
var square:Shape = new Shape();
square.graphics.beginFill(0xFF0000, 0.5);
square.graphics.drawRect(0, 0, squareSize, squareSize);
square.graphics.beginFill(0x00FF00, 0.5);
square.graphics.drawRect(200, 0, squareSize, squareSize);
square.graphics.beginFill(0x0000FF, 0.5);
square.graphics.drawRect(400, 0, squareSize, squareSize);
square.graphics.endFill();
this.addChild(square);
In un oggetto Sprite o MovieClip, il contenuto del disegno creato con la proprietà
graphics
viene sempre visualizzato dietro tutti gli oggetti di visualizzazione secondari che sono contenuti nell'oggetto. Inoltre, il contenuto della proprietà
graphics
non è un oggetto di visualizzazione separato, pertanto non compare nell'elenco degli elementi secondari di un oggetto Sprite o MovieClip. Ad esempio, per l'oggetto Sprite seguente viene disegnato un cerchio con la relativa proprietà
graphics
e per esso è presente un oggetto TextField nell'elenco degli oggetti di visualizzazione secondari:
var mySprite:Sprite = new Sprite();
mySprite.graphics.beginFill(0xFFCC00);
mySprite.graphics.drawCircle(30, 30, 30);
var label:TextField = new TextField();
label.width = 200;
label.text = "They call me mellow yellow...";
label.x = 20;
label.y = 20;
mySprite.addChild(label);
this.addChild(mySprite);
Notate che l'oggetto TextField compare sopra il cerchio disegnato con l'oggetto Graphics.