public static const NONE:String = "none"
| Player 版本 : | Flash Player 9 |
可用來指定在 flash.display.Graphics.lineStyle() 方法的 caps 參數中不使用任何端點。
public static const ROUND:String = "round"
| Player 版本 : | Flash Player 9 |
可用來指定 flash.display.Graphics.lineStyle() 方法之 caps 參數的圓形端點。
public static const SQUARE:String = "square"
| Player 版本 : | Flash Player 9 |
可用來指定 flash.display.Graphics.lineStyle() 方法之 caps 參數的方形端點。
下列範例使用
CapsStyleExample 類別繪製三條平行線,每一條線都具有不同的線條端點樣式。
- 每條線的屬性設定如下:
- 線條長度設為 80 像素。
- 邊界顏色設為橘色。
- 邊界大小設為 30 像素。
- 反白標示顏色設為灰階。
- 反白標示大小設定為 0 像素。
- Alpha 值將設為 1,讓顏色變成純色。
- 像素提示功能設為 false (未提示筆畫以使用完整像素)。
- 線條縮放模式設為正常,以便調整粗細。
- 邊界端點的接合樣式設定為
MITER。
- 尖角樣式設定為 1,表示尖角會在靠近線條的地方切斷。
- 此類別建構函式會建立三條垂直線,以 x = 0, y = 0 做為開頭 (藉由使用三種不同的線條端點樣式 (無、圓形與方形),呼叫
drawLine() 方法三次)。 drawLine() 方法的三次呼叫每一次都會使用先前所列的端點樣式與屬性,繪製一條垂直線與相關的反白標示線條。 這些呼叫首先會建立新的 child Shape 物件,然後再使用 Graphics 類別的方法,設定線條樣式並繪製線條和反白標示。 每個 child 的實體都會加入至顯示清單,並在舞台上繪製出來。
- 連接的線段會使用
refreshLayout() 方法,在 y = 80 像素的位置從 x = 80 像素開始,加上線段之間分隔 25 像素的距離,進行重新繪製。
package {
import flash.display.CapsStyle;
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Shape;
import flash.display.Sprite;
public class CapsStyleExample extends Sprite {
private var lineLength:uint = 80;
private var borderColor:uint = 0xFFCC00;
private var borderSize:uint = 30;
private var highlightColor:uint = 0x666666;
private var highlightSize:uint = 0;
private var gutter:uint = 25;
private var borderAlpha:uint = 1;
private var borderPixelHinting:Boolean = false;
private var borderScaleMode:String = LineScaleMode.NORMAL;
private var borderJointStyle:String = JointStyle.MITER;
private var borderMiterLimit:uint = 1;
public function CapsStyleExample() {
drawLine(CapsStyle.NONE);
drawLine(CapsStyle.ROUND);
drawLine(CapsStyle.SQUARE);
refreshLayout();
}
private function drawLine(capsStyle:String):void {
var child:Shape = new Shape();
child.graphics.lineStyle(borderSize,
borderColor,
borderAlpha,
borderPixelHinting,
borderScaleMode,
capsStyle,
borderJointStyle,
borderMiterLimit);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(0, lineLength);
child.graphics.endFill();
child.graphics.moveTo(0, 0);
child.graphics.lineStyle(highlightSize, highlightColor);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(0, lineLength);
addChild(child);
}
private function refreshLayout():void {
var ln:uint = numChildren;
var child:DisplayObject;
var lastChild:DisplayObject = getChildAt(0);
lastChild.x = lineLength;
lastChild.y = lineLength;
for (var i:uint = 1; i < ln; i++) {
child = getChildAt(i);
child.x = gutter + lastChild.x + lastChild.width;
child.y = lineLength;
lastChild = child;
}
}
}
}