Главная / Action Script 3
Пакетflash.display
Классpublic final class JointStyle
НаследованиеJointStyle Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс JointStyle — это перечисление значений констант, задающих стили соединений при рисовании линий. Эти константы предназначены для использования в качестве значений параметра joints метода flash.display.Graphics.lineStyle(). Этот метод использует три типа стыков: уголок, круглый и фаска, как показано в следующем примере.

MITER (уголок), ROUND (круглый) и BEVEL (фаска)

Посмотреть примеры

См. также

flash.display.Graphics.lineStyle()


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Общедоступные константы
 Константа Определено
  BEVEL : String = "bevel"
[статические] Задает использование рельефных точек соединения сегментов параметром joints метода flash.display.Graphics.lineStyle().
JointStyle
  MITER : String = "miter"
[статические] Задает использование параметром joints метода flash.display.Graphics.lineStyle() точек соединения сегментов, скошенных под углом в 45 градусов.
JointStyle
  ROUND : String = "round"
[статические] Задает использование круглых точек соединения сегментов параметром joints метода flash.display.Graphics.lineStyle().
JointStyle
Сведения о константе
BEVELКонстанта
public static const BEVEL:String = "bevel"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает использование скошенных стыков сегментов параметром joints метода flash.display.Graphics.lineStyle().

MITERКонстанта  
public static const MITER:String = "miter"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает использование параметром joints метода flash.display.Graphics.lineStyle() угловых стыков сегментов.

ROUNDКонстанта  
public static const ROUND:String = "round"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает использование круглых стыков сегментов параметром joints метода flash.display.Graphics.lineStyle().

Примеры Как пользоваться примерами
JointStyleExample.as

В следующем примере используется класс JointStyleExample для иллюстрации применения разных стилей стыков к трем группам соединенных линий. Это можно сделать, выполнив следующие действия.
  1. Для каждой линии заданы следующие свойства.
    • Длина линии — 80 пикселов.
    • Цвет рамки — оранжевый.
    • Размер рамки — 30 пикселов.
    • Цвет подсветки — серый.
    • Размер подсветки — ноль пикселов.
    • Значение альфа-канала — 1 для получения сплошного цвета.
    • Хинтинг пикселов имеет значение false (не выполняется хинтинг до полных пикселов).
    • Режим масштабирования линий — обычный: масштабирование по ширине.
    • Концы рамки и длина уголков объявлены, но не заданы, поэтому используются значения по умолчанию.
  2. Конструктор класса создает три группы по два соединенных сегмента линии. Сегменты начинаются в точке с координатами x = 0, y = 0 и рисуются путем троекратного вызова метода doDrawCorner() с использованием трех стилей стыков (уголок, круглый и фаска). В каждом из трех вызовов doDrawCorner() используются описанные выше свойства и стили стыков для отрисовки двух соединенных сегментов линии и соответствующих подсветок.. С этой целью сначала создается новый объект Shape с именем child, затем используются методы класса Graphics для указания стиля линий и отрисовки линий и подсветок. Каждый экземпляр child добавляется в список отображения и тут же отрисовывается в рабочей области.
  3. Затем соединенные сегменты линии перерисовываются с использованием метода 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;
            }
        }
    }
}