public static const BEVEL:String = "bevel"
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica juntas biseladas en el parámetro joints del método flash.display.Graphics.lineStyle().
public static const MITER:String = "miter"
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica juntas de esquina en el parámetro joints del método flash.display.Graphics.lineStyle().
public static const ROUND:String = "round"
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica juntas redondas en el parámetro joints del método flash.display.Graphics.lineStyle().
En el ejemplo siguiente, se utiliza la clase JointStyleExample para mostrar el resultado de tres estilos distintos de juntas aplicados a tres conjuntos de líneas unidas. Esta tarea se consigue realizando los pasos siguientes:
- Las propiedades de cada línea se establecen de la siguiente manera:
- La longitud de línea se establece en 80 píxeles.
- El color del borde se define en naranja.
- El tamaño del borde se establece en 30 píxeles.
- El color de resaltado se define en gris.
- El tamaño del resaltado se establece en 0 píxeles.
- El valor alfa se establece en 1, con lo que se convierte en sólido.
- El consejo de píxeles se establece como false (no se sugieren trazos a píxeles completos).
- El modo de escala de línea se define como normal, con lo que se escala el grosor.
- Los extremos de borde y el límite de esquina se declaran pero no se definen, con lo cual se utilizan los valores predeterminados.
- El constructor de la clase crea tres conjuntos de dos segmentos de línea conectados. Los segmentos comienzan en x = 0, y = 0 llamando al método
doDrawCorner() tres veces empleando los tres estilos de junta (en esquina, redonda y bisel). Cada una de las tres llamadas a doDrawCorner() utiliza las propiedades y el estilo de junta enumerados anteriormente para dibujar dos segmentos de línea conectados y resaltados de línea asociados. Para ello, se crea primero un nuevo objeto Shape child y se utilizan después métodos de la clase Graphics para configurar el estilo de línea y dibujar las líneas y resaltados. Cada instancia de child se añade a la lista de visualización y se dibuja de inmediato en el escenario.
- Los segmentos de línea conectados se vuelven a dibujar con el método
refreshLayout() en y = 80 píxeles y comenzando en x = 80 píxeles, con una separación de 25 píxeles entre los segmentos de línea.
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;
}
}
}
}