public static const BEVEL:String = "bevel"
| Player 版本 : | Flash Player 9 |
指定 flash.display.Graphics.lineStyle() 方法中 joints 參數的斜角接合。
public static const MITER:String = "miter"
| Player 版本 : | Flash Player 9 |
指定 flash.display.Graphics.lineStyle() 方法中 joints 參數的尖角接合。
public static const ROUND:String = "round"
| Player 版本 : | Flash Player 9 |
指定 flash.display.Graphics.lineStyle() 方法中 joints 參數的圓角接合。
下列範例會使用 JointStyleExample 類別,顯示三種不同的接合樣式套用至三組連接線的結果。 您可以執行下列步驟來完成這項工作:
- 每條線的屬性設定如下:
- 線條長度設為 80 像素。
- 邊界顏色設為橘色。
- 邊界大小設為 30 像素。
- 反白標示顏色設為灰階。
- 反白標示大小設為 0 像素。
- Alpha 值將設為 1,讓顏色變成純色。
- 像素提示功能設為 false (未提示筆畫以使用完整像素)。
- 線條縮放模式設為正常,以便調整粗細。
- 宣告但不設定邊界端點與尖角樣式,因此會採用預設值。
- 此類別建構函式會建立由兩條相接線段所組成的三組線。 藉由使用三種不同的線條接合樣式 (尖角、圓角與斜角),呼叫
doDrawCorner() 方法三次,在起始座標為 x = 0, y = 0 處建立這些線段。 對 doDrawCorner() 方法的三次呼叫每一次都會使用先前所列的接合樣式與屬性,繪製兩條連接線段與相關的反白標示線條。 首先建立新的 Shape 物件 child,然後再使用 Graphics 類別的方法,設定線條樣式並繪製線條和反白標示。 每個 child 的實體都會加入至顯示清單,並立即在舞台上繪製出來。
- 連接的線段會使用
refreshLayout() 方法,在 y = 80 像素的位置從 x = 80 像素開始,加上線段之間分隔 25 像素的距離,進行重新繪製。
package {
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 JointStyleExample extends Sprite {
private var size: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 borderCaps:String;
private var borderMiterLimit:uint;
public function JointStyleExample() {
doDrawCorner(JointStyle.MITER);
doDrawCorner(JointStyle.ROUND);
doDrawCorner(JointStyle.BEVEL);
refreshLayout();
}
private function doDrawCorner(jointStyle:String):void {
var halfSize:uint = Math.round(size / 2);
var child:Shape = new Shape();
child.graphics.lineStyle(borderSize,
borderColor,
borderAlpha,
borderPixelHinting,
borderScaleMode,
borderCaps,
jointStyle,
borderMiterLimit);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(size, 0);
child.graphics.lineTo(halfSize, size);
child.graphics.endFill();
child.graphics.moveTo(0, 0);
child.graphics.lineStyle(highlightSize, highlightColor);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(size, 0);
child.graphics.lineTo(halfSize, size);
addChild(child);
}
private function refreshLayout():void {
var ln:uint = numChildren;
var child:DisplayObject;
var lastChild:DisplayObject = getChildAt(0);
lastChild.x = size;
lastChild.y = size;
for (var i:uint = 1; i < ln; i++) {
child = getChildAt(i);
child.x = gutter + lastChild.x + lastChild.width;
child.y = size;
lastChild = child;
}
}
}
}