Rysowanie kształtów przy użyciu metod wbudowanych

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

W języku ActionScript 3.0 udostępniono wygodne metody do rysowania typowych kształtów, takich jak koła, elipsy, prostokąty i prostokąty z zaokrąglonymi narożnikami. Są to odpowiednio metody drawCircle() , drawEllipse() , drawRect() oraz drawRoundRect() klasy Graphics. Można z nich korzystać zamiast metod lineTo() i curveTo() . Należy jednak zauważyć, że przed wywołaniem metod rysujących kształty również należy określić styl linii i wypełnienia.

Poniższy przykład jest nową wersją przykładu rysującego czerwony, zielony i niebieski kwadrat o boku 100 pikseli. Wykorzystano w nim metodę drawRect() i dodatkowo określono wartość alfa równą 50% (0,5) dla koloru wypełnienia:

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);

W obiekcie Sprite lub MovieClip grafika utworzona za pomocą właściwości graphics zawsze jest widoczna dopiero pod wszystkimi podrzędnymi obiektami wyświetlanymi zawartymi w obiekcie. Ponadto grafika we właściwości graphics nie jest odrębnym obiektem wyświetlanym, a zatem nie figuruje na liście obiektów podrzędnych obiektu Sprite lub MovieClip. Na przykład poniższy obiekt Sprite zawiera okrąg narysowany za pomocą właściwości graphics oraz obiekt pole tekstowe TextField znajdujący się na liście jego podrzędnych obiektów wyświetlanych:

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);

Pole tekstowe TextField jest widoczne na kole narysowanym za pomocą obiektu graphics.