パッケージ | flash.display |
クラス | public final class JointStyle |
継承 | JointStyle Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
joints
パラメーター(flash.display.Graphics.lineStyle()
メソッドのパラメーター)の値として使用されます。このメソッドは、マイター、ラウンド、ベベルの 3 種類の結合をサポートします。次に例を示します。
関連する 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 |
joints
パラメーター(flash.display.Graphics.lineStyle()
メソッドのパラメーター)でベベル結合を指定します。
MITER | 定数 |
public static const MITER:String = "miter"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
joints
パラメーター(flash.display.Graphics.lineStyle()
メソッドのパラメーター)でマイター結合を指定します。
ROUND | 定数 |
public static const ROUND:String = "round"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
joints
パラメーター(flash.display.Graphics.lineStyle()
メソッドのパラメーター)でラウンド結合を指定します。
例 この例の使用方法
JointStyleExample.as
次の例では、JointStyleExample クラスを使用して、3 つの異なる結合スタイルを 3 組の結合される線に適用した結果を示します。これを行うには、以下の手順を実行します。
- それぞれの線のプロパティは、次のように設定されます。
- 線の長さは 80 ピクセル
- 境界線の色はオレンジ色
- 境界線のサイズは 30 ピクセル
- ハイライトカラーは灰色
- ハイライトサイズは 0 ピクセル
- アルファは 1(単色になる)
- ピクセルのヒンティングは false に設定(ピクセル全体に対して線がヒンティングされない)
- 線の縮小 / 拡大モードは通常(太さを縮小 / 拡大)
- 境界線キャップとマイター限度は宣言されているものの、設定されていないため、デフォルト値が使用されます。
- クラスコンストラクターは、2 つの連結線セグメントを 3 組作成します。これらのセグメントは、x = 0、y = 0 を起点とします。そのためには、3 つの結合スタイル(マイター、ラウンド、ベベル)を使用して
doDrawCorner()
メソッドを 3 度呼び出します。3 度のdoDrawCorner()
呼び出しでは、それぞれ前述の結合スタイルとプロパティを使用して、2 つの連結線セグメント、および関連する線ハイライトを描画します。これには、まず新しい 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, 10:34 AM Z