使用內建方法來繪製形狀

Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本

為了方便您繪製如圓形、橢圓形、矩形與圓角矩形之類的常見形狀,ActionScript 3.0 特地提供一些可為您繪製這些常見形狀的方法。這些方法分別是 Graphics 類別的 drawCircle()drawEllipse()drawRect() 以及 drawRoundRect() 方法。這些方法也可以用來取代 lineTo()curveTo() 方法。然而,在您呼叫這些方法之前,仍舊必須指定線段與填色樣式,這點請您特別留意。

下列範例將以 100 的像素寬度與高度來重新建立紅色、綠色與藍色的正方形繪圖範例。下列程式碼使用 drawRect() 方法,並另外再指定含 50% (0.5) Alpha 值的填色顏色:

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 會出現在圖像物件所繪製的圓形上方。