套件 | flash.display |
類別 | public final class CapsStyle |
繼承 | CapsStyle Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
flash.display.Graphics.lineStyle()
方法的 caps
參數中。 您可以指定下列三種類型的端點:
相關 API 元素
公用常數
常數 | 定義自 | ||
---|---|---|---|
NONE : String = "none" [靜態]
可用來在 flash.display.Graphics.lineStyle() 方法的 caps 參數中指定不使用任何端點。 | CapsStyle | ||
ROUND : String = "round" [靜態]
可用來在 flash.display.Graphics.lineStyle() 方法的 caps 參數中指定圓形的端點。 | CapsStyle | ||
SQUARE : String = "square" [靜態]
可用來在 flash.display.Graphics.lineStyle() 方法的 caps 參數中指定方形的端點。 | CapsStyle |
常數詳細資訊
NONE | 常數 |
public static const NONE:String = "none"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
可用來指定在 flash.display.Graphics.lineStyle()
方法的 caps
參數中不使用任何端點。
ROUND | 常數 |
public static const ROUND:String = "round"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
可用來指定 flash.display.Graphics.lineStyle()
方法之 caps
參數的圓形端點。
SQUARE | 常數 |
public static const SQUARE:String = "square"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
可用來指定 flash.display.Graphics.lineStyle()
方法之 caps
參數的方形端點。
範例 如何使用本範例
CapsStyleExample.as
下列範例使用
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; } } } }
Tue Jun 12 2018, 03:47 PM Z