패키지 | flash.display |
클래스 | public final class JointStyle |
상속 | JointStyle Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
flash.display.Graphics.lineStyle()
메서드에서 joints
매개 변수 값으로 사용할 수 있도록 제공됩니다. 메서드는 다음 예제와 같이 이음, 라운드, 경사의 3가지 연결점 유형을 지원합니다.
관련 API 요소
공용 속성
공용 메서드
공용 상수
상수 | 정의 주체 | ||
---|---|---|---|
BEVEL : String = "bevel" [정적]
flash.display.Graphics.lineStyle() 메서드의 연결점 매개 변수에 경사 연결점을 지정합니다. | JointStyle | ||
MITER : String = "miter" [정적]
flash.display.Graphics.lineStyle() 메서드의 연결 매개 변수에 이음 연결점을 지정합니다. | JointStyle | ||
ROUND : String = "round" [정적]
flash.display.Graphics.lineStyle() 메서드의 연결점 매개 변수에 라운드 연결점을 지정합니다. | 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 클래스를 사용하여 3개의 결합된 선에 서로 다른 3개의 연결점 스타일이 적용된 결과를 보여 줍니다. 이는 다음 단계로 이루어집니다.
- 각 선의 속성은 다음과 같이 설정됩니다.
- 선 길이는 80픽셀로 설정됩니다.
- 테두리 색상은 주황색으로 설정됩니다.
- 테두리 크기는 30픽셀로 설정됩니다.
- 강조 표시 색상은 회색으로 설정됩니다.
- 강조 표시 크기는 0픽셀로 설정됩니다.
- 알파는 단색을 만드는 1로 설정됩니다.
- 픽셀 힌팅은 false로 설정됩니다(획이 전체 픽셀로 힌팅되지 않음).
- 선 크기 조절 모드는 정상으로 설정되어 두께를 조절합니다.
- 테두리 끝과 이음 제한은 선언되지만 설정되지는 않으므로 기본값이 사용됩니다.
- 클래스 생성자가 연결된 선분 2개로 이루어진 3개의 세트를 만듭니다. 선분은 3개의 연결점 스타일(이음, 라운드, 경사)을 사용하여
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:17 PM Z