Paket | flash.display |
Klass | public final class JointStyle |
Arv | JointStyle Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
joints
-parametern för flash.display.Graphics.lineStyle()
-metoden. Metoden stöder tre typer av leder: spets, rund och avfasning, som framgår av detta exempel:
Relaterade API-element
Publika egenskaper
Publika metoder
Publika konstanter
Konstant | Definieras med | ||
---|---|---|---|
BEVEL : String = "bevel" [statisk]
Anger avfasade fogar i parametern joints i metoden flash.display.Graphics.lineStyle(). | JointStyle | ||
MITER : String = "miter" [statisk]
Anger spetsiga fogar i parametern joints i metoden flash.display.Graphics.lineStyle(). | JointStyle | ||
ROUND : String = "round" [statisk]
Anger runda fogar i parametern joints i metoden flash.display.Graphics.lineStyle(). | JointStyle |
Konstantdetaljer
BEVEL | Konstant |
public static const BEVEL:String = "bevel"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger avfasade fogar i parametern joints
i metoden flash.display.Graphics.lineStyle()
.
MITER | Konstant |
public static const MITER:String = "miter"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger spetsiga fogar i parametern joints
i metoden flash.display.Graphics.lineStyle()
.
ROUND | Konstant |
public static const ROUND:String = "round"
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger runda fogar i parametern joints
i metoden flash.display.Graphics.lineStyle()
.
Exempel Så här använder du exemplet
JointStyleExample.as
I det exempel som följer används klass JointStyleExample för att visa resultatet av tre olika ledstilar tillämpade för tre uppsättningar förenade linjer. Detta genomförs med följande steg:
- De olika linjernas egenskaper bestäms på följande sätt:
- Linjelängden sätts till 80 pixlar.
- Ramfärgen sätts till orange.
- Ramstorleken sätts till 30 pixlar.
- Markeringsfärgen sätts till grå.
- Markeringsstorleken sätts till noll pixlar.
- Alfavärdet sätts till 1, vilket gör den massiv.
- Pixelutjämningen sätts till false (linjer jämnas inte ut till hela pixlar).
- Linjeskalläget sätts till normalt, vilket skalar tjockleken.
- Kantändarna och foglängden har deklarerats men inte satts, varför standardvärdena används.
- Klasskonstruktorn skapar tre uppsättningar med två anslutna linjesegment. Segmenten börjar i x = 0, y = 0 med att anropa
doDrawCorner()
-metoden tre gånger med tre ledstilar (spets, rund och avfasning). Vart och ett av de tre anropen tilldoDrawCorner()
använder ledstilen och egenskaper som förtecknats tidigare för att rita två anslutna linjesegment och tillhörande linjemarkeringar. Det gör man genom att först skapa ett nytt Shape-objektchild
och sedan använda Graphics-klassens metoder för att bestämma linjestilarna och rita linjerna och markeringarna. Varje instans avchild
läggs till i visningslistan och ritas omedelbart på scenen. - De anslutna linjesegmenten ritas sedan om med
refreshLayout()
-metoden vid y = 80 pixlar med början vid x = 80 pixlar, och med ett mellanrum på 25 pixlar mellan linjesegmenten.
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, 01:40 PM Z