public static const NONE:String = "none"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
С его помощью в параметре caps
метода flash.display.Graphics.lineStyle()
задается отсутствие концов линий.
public static const ROUND:String = "round"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
С его помощью в параметре caps
метода flash.display.Graphics.lineStyle()
задаются круглые концы линий.
public static const SQUARE:String = "square"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
С его помощью в параметре caps
метода flash.display.Graphics.lineStyle()
задаются квадратные концы линий.
В следующем примере класс
CapsStyleExample
используется для рисования трех параллельных линий с разными типами концов.
- Для каждой линии заданы следующие свойства.
- Длина линии — 80 пикселов.
- Цвет рамки — оранжевый.
- Размер рамки — 30 пикселов.
- Цвет подсветки — серый.
- Размер подсветки — 0 пикселов.
- Значение альфа-канала — 1 для получения сплошного цвета.
- Хинтинг пикселов имеет значение false (не выполняется хинтинг до полных пикселов).
- Режим масштабирования линий — обычный: масштабирование по ширине.
- Стиль стыка концов рамки —
MITER
(уголок). - Длина уголка — 1, то есть, уголок обрезается близко к линии.
- Конструктор класса создает три вертикальные линии, начиная с координат x = 0, y = 0, путем троекратного вызова метода
drawLine()
с использованием разных стилей концов линий (нет, круглые, квадратные). В каждом из трех вызовов метода drawLine()
используются перечисленные выше стиль концов и свойства для рисования вертикальной линии и соответствующей подсветки. Первый вызов создает новый дочерний
объект Shape, а затем с помощью методов класса Graphics задается стиль линии и рисуются линии с подсветкой. Каждый экземпляр child
добавляется в список отображения и отрисовывается в рабочей области. - Соединенные сегменты линии перерисовываются с использованием метода
refreshLayout()
на пикселах y = 80, начиная с пикселов x = 80, где сегменты линии разделены 25 пикселами.
package {
import flash.display.CapsStyle;
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 CapsStyleExample extends Sprite {
private var lineLength: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 borderJointStyle:String = JointStyle.MITER;
private var borderMiterLimit:uint = 1;
public function CapsStyleExample() {
drawLine(CapsStyle.NONE);
drawLine(CapsStyle.ROUND);
drawLine(CapsStyle.SQUARE);
refreshLayout();
}
private function drawLine(capsStyle:String):void {
var child:Shape = new Shape();
child.graphics.lineStyle(borderSize,
borderColor,
borderAlpha,
borderPixelHinting,
borderScaleMode,
capsStyle,
borderJointStyle,
borderMiterLimit);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(0, lineLength);
child.graphics.endFill();
child.graphics.moveTo(0, 0);
child.graphics.lineStyle(highlightSize, highlightColor);
child.graphics.lineTo(0, 0);
child.graphics.lineTo(0, lineLength);
addChild(child);
}
private function refreshLayout():void {
var ln:uint = numChildren;
var child:DisplayObject;
var lastChild:DisplayObject = getChildAt(0);
lastChild.x = lineLength;
lastChild.y = lineLength;
for (var i:uint = 1; i < ln; i++) {
child = getChildAt(i);
child.x = gutter + lastChild.x + lastChild.width;
child.y = lineLength;
lastChild = child;
}
}
}
}