套件 | flash.display |
類別 | public final class JointStyle |
繼承 | JointStyle Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
flash.display.Graphics.lineStyle()
方法的 joints
參數中。 此方法支援三種類型的接合: 尖角、圓角,與斜角,如下所示:
相關 API 元素
公用常數
常數 | 定義自 | ||
---|---|---|---|
BEVEL : String = "bevel" [靜態]
在 flash.display.Graphics.lineStyle() 方法的 joints 參數中指定斜角接合方式。 | JointStyle | ||
MITER : String = "miter" [靜態]
在 flash.display.Graphics.lineStyle() 方法的 joints 參數中指定尖角接合方式。 | JointStyle | ||
ROUND : String = "round" [靜態]
在 flash.display.Graphics.lineStyle() 方法的 joints 參數中指定圓角接合方式。 | JointStyle |
常數詳細資訊
BEVEL | 常數 |
public static const BEVEL:String = "bevel"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
指定 flash.display.Graphics.lineStyle()
方法中 joints
參數的斜角接合。
MITER | 常數 |
public static const MITER:String = "miter"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
指定 flash.display.Graphics.lineStyle()
方法中 joints
參數的尖角接合。
ROUND | 常數 |
public static const ROUND:String = "round"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
指定 flash.display.Graphics.lineStyle()
方法中 joints
參數的圓角接合。
範例 如何使用本範例
JointStyleExample.as
下列範例會使用 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; } } } }
Tue Jun 12 2018, 03:47 PM Z