Пакет | flash.display |
Класс | public final class JointStyle |
Наследование | JointStyle Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
joints
метода flash.display.Graphics.lineStyle()
. Этот метод использует три типа стыков: уголок, круглый и фаска, как показано в следующем примере.
Связанные элементы API
Общедоступные свойства
Общедоступные методы
Общедоступные константы
Константа | Определено | ||
---|---|---|---|
BEVEL : String = "bevel" [статические]
Задает использование скошенных стыков сегментов параметром joints метода flash.display.Graphics.lineStyle(). | JointStyle | ||
MITER : String = "miter" [статические]
Задает использование параметром joints метода flash.display.Graphics.lineStyle() угловых стыков сегментов. | JointStyle | ||
ROUND : String = "round" [статические]
Задает использование круглых стыков сегментов параметром joints метода flash.display.Graphics.lineStyle(). | JointStyle |
Сведения о константе
BEVEL | Константа |
public static const BEVEL:String = "bevel"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет использование скошенных стыков сегментов в параметре joints
метода flash.display.Graphics.lineStyle()
.
MITER | Константа |
public static const MITER:String = "miter"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет использование угловых стыков сегментов в параметре joints
метода flash.display.Graphics.lineStyle()
.
ROUND | Константа |
public static const ROUND:String = "round"
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет использование круглых стыков сегментов в параметре joints
метода flash.display.Graphics.lineStyle()
.
Примеры Использование этого примера
JointStyleExample.as
В следующем примере используется класс JointStyleExample для иллюстрации применения разных стилей стыков к трем группам соединенных линий. Это можно сделать, выполнив следующие действия.
- Для каждой линии заданы следующие свойства.
- Длина линии — 80 пикселей.
- Цвет рамки — оранжевый.
- Размер рамки — 30 пикселей.
- Цвет подсветки — серый.
- Размер подсветки — ноль пикселей.
- Значение альфа-канала — 1 для получения сплошного цвета.
- Хинтинг пикселей имеет значение false (не выполняется хинтинг до полных пикселей).
- Режим масштабирования линий - обычный: масштабирование по ширине.
- Концы рамки и длина уголков объявлены, но не заданы, поэтому используются значения по умолчанию.
- Конструктор класса создает три группы по два соединенных сегмента линии. Сегменты начинаются в точке с координатами x = 0, y = 0 и рисуются путем троекратного вызова метода
doDrawCorner()
с использованием трех стилей стыков (уголок, круглый и фаска). В каждом из трех вызовов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, 11:34 AM Z