Für das Zeichnen von häufig vorkommenden Formen wie Kreise, Ellipsen, Rechtecke und Rechtecke mit abgerundeten Ecken enthält ActionScript 3.0 zur leichteren Handhabung entsprechende Methoden. Dabei handelt es sich um die Methoden
drawCircle()
,
drawEllipse()
,
drawRect()
und
drawRoundRect()
der Graphics-Klasse. Diese Methoden können anstelle der Methoden
lineTo()
und
curveTo()
verwendet werden. Sie müssen dennoch vor dem Aufrufen dieser Methoden Linien- und Füllstile angeben.
Im folgenden Beispiel wird das Codebeispiel zum Erstellen roter, grüner und blauer Quadrate mit einer Breite und Höhe von 100 Pixel erneut verwendet. In diesem Codebeispiel kommt die
drawRect()
-Methode zum Einsatz. Zusätzlich wird für die Füllfarbe der Alphawert 50 % (0,5) angegeben:
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 einem Sprite- oder MovieClip-Objekt wird der mit der
graphics
-Eigenschaft erstellte Zeicheninhalt immer hinter allen untergeordneten Anzeigeobjekten des jeweiligen Objekts angezeigt. Darüber hinaus handelt es sich beim Inhalt der
graphics
-Eigenschaft um kein eigenständiges Anzeigeobjekt, sodass es nicht in der Liste der untergeordneten Objekte eines Sprite- oder MovieClip-Objekts angezeigt wird. Um das folgende Sprite-Objekt wird beispielsweise mit der
graphics
-Eigenschaft ein Kreis gezogen. Zudem wird ein TextField-Objekt in der Liste der zugehörigen untergeordneten Anzeigeobjekte angezeigt:
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);
Beachten Sie, dass das TextField-Objekt oberhalb des mit dem Graphics-Objekts gezeichneten Kreises angezeigt wird.