Pacchetto | flash.display |
Classe | public final class JointStyle |
Ereditarietà | JointStyle Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
joints
del metodo flash.display.Graphics.lineStyle()
. Il metodo supporta tre tipi di spigoli: troncato, rotondo e smussato, come illustrato nell'esempio seguente:
Elementi API correlati
Proprietà pubbliche
Metodi pubblici
Costanti pubbliche
Costante | Definito da | ||
---|---|---|---|
BEVEL : String = "bevel" [statico]
Specifica gli spigoli smussati per il parametro joints del metodo flash.display.Graphics.lineStyle(). | JointStyle | ||
MITER : String = "miter" [statico]
Specifica gli spigoli troncati per il parametro joints del metodo flash.display.Graphics.lineStyle(). | JointStyle | ||
ROUND : String = "round" [statico]
Specifica gli spigoli arrotondati per il parametro joints del metodo flash.display.Graphics.lineStyle(). | JointStyle |
Descrizione delle costanti
BEVEL | Costante |
public static const BEVEL:String = "bevel"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica spigoli smussati nel parametro joints
del metodo flash.display.Graphics.lineStyle()
.
MITER | Costante |
public static const MITER:String = "miter"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica spigoli troncati nel parametro joints
del metodo flash.display.Graphics.lineStyle()
.
ROUND | Costante |
public static const ROUND:String = "round"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Specifica spigoli arrotondati nel parametro joints
del metodo flash.display.Graphics.lineStyle()
.
JointStyleExample.as
L'esempio seguente utilizza la classe JointStyleExample per mostrare il risultato di tre stili di spigoli diversi applicati a tre insiemi di linee con spigoli. Questa operazione viene eseguita mediante la procedura seguente:
- Di seguito sono riportate le proprietà di ciascuna linea:
- La lunghezza della linea è impostata su 80 pixel.
- Il colore del bordo è impostato su arancione.
- La dimensione del bordo è impostata su 30 pixel.
- Il colore di evidenziazione è impostato su grigio.
- La dimensione dell'evidenziazione è impostata su 0 pixel.
- L'alfa è impostato su 1; cioè è uniforme.
- L'approssimazione dei pixel è impostata su false (i tratti non sono approssimati ai pixel pieni).
- La modalità scala della linea è impostata su normale (lo spessore viene modificato in scala).
- Le estremità del bordo e il limite della giunzione vengono dichiarati ma non impostati, pertanto vengono utilizzati i valori predefiniti.
- La funzione di costruzione della classe crea tre insiemi di due segmenti di linee collegate. Il segmento inizia alla posizione x = 0, y = 0 chiamando
doDrawCorner()
tre volte con tre diversi stili di estremità della linea (troncata, rotonda, a smusso). Ognuna delle tre chiamate adoDrawCorner()
utilizza lo stile di spigolo e le proprietà elencate in precedenza per disegnare due segmenti di linee collegate e le evidenziazioni a essi associate. A tale scopo, dapprima viene creato un nuovo oggetto Shapechild
, quindi vengono utilizzati i metodi della classe Graphics per impostare lo stile di linea e disegnare le linee e le evidenziazioni. Ogni istanzachild
viene aggiunta all'elenco di visualizzazione e prontamente disegnata sullo stage. - I segmenti di linee collegati vengono quindi ridisegnati mediante il metodo
refreshLayout()
in corrispondenza di y = 80 pixel e a partire da x = 80 pixel, con una separazione di 25 pixel tra i segmenti di linea.
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, 02:44 PM Z