ActionScript 3.0 には、円、楕円、矩形、および角の丸い矩形などの一般的なシェイプを描画できる便利なメソッドがあります。 それは、Graphics クラスの
drawCircle()
、
drawEllipse()
、
drawRect()
および
drawRoundRect()
メソッドです。これらのメソッドは
lineTo()
メソッドおよび
curveTo()
メソッドの代わりに使用できます。ただし、これらのメソッドを呼び出す前にも、線と塗りのスタイルを指定しておく必要があります。
次の例は、前に示した例と同様に、幅と高さが 100 ピクセルの赤、緑、および青の四角形を描画します。 このコードでは、
drawRect()
メソッドを使用し、さらに塗りの色に 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);
Sprite オブジェクトまたは MovieClip オブジェクトでは、
graphics
プロパティを使用して作成された描画コンテンツは常に、オブジェクトに含まれているすべての子表示オブジェクトの背面に表示されます。また、
graphics
プロパティのコンテンツは個別の表示オブジェクトではないため、Sprite オブジェクトまたは MovieClip オブジェクトの子のリストには表示されません。例えば、次の Sprite オブジェクトには
graphics
プロパティを使用して描画した円があり、その子表示オブジェクトのリストには TextField オブジェクトがあります。
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);
TextField は、グラフィックオブジェクトで描画された円の最上部に表示されます。