Пакетflash.display
Классpublic class Shape
НаследованиеShape Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

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

Класс Shape позволяет создавать облегченные фигуры с помощью API-интерфейса для рисования ActionScript. Класс Shape включает свойство graphics, обеспечивающее доступ к методам класса Graphics.

Класс Sprite также включает свойство graphics и другие функции, недоступные в классе Shape. Например, объект Sprite является контейнером экранных объектов, а объект Shape не является (и не может содержать дочерних экранных объектов). По этой причине объекты Shape используют меньше памяти, чем объекты Sprite, содержащие те же графические элементы. Однако объект Sprite поддерживает события нажатия мыши, а объект Shape — нет.

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

См. также

flash.display.Graphics
flash.display.Sprite


Общедоступные свойства
 СвойствоОпределено
 InheritedaccessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта.
DisplayObject
 Inheritedalpha : Number
Указывает значение альфа-прозрачности заданного объекта.
DisplayObject
 InheritedblendMode : String
Значение класса BlendMode, задающее режим наложения.
DisplayObject
 InheritedblendShader : Shader
[только для записи] Задает затенение, используемое при наложении переднего плана на фон.
DisplayObject
 InheritedcacheAsBitmap : Boolean
При значении true проигрыватель Flash Player кэширует внутреннее растровое представление экранного объекта.
DisplayObject
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 Inheritedfilters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
DisplayObject
  graphics : Graphics
[только для чтения] Указывает объект Graphics, принадлежащий этому объекту Shape, где можно выполнять команды векторного рисования.
Shape
 Inheritedheight : Number
Указывает высоту экранного объекта в пикселах.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
DisplayObject
 Inheritedmask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask.
DisplayObject
 InheritedmouseX : Number
[только для чтения] Указывает координату x положения курсора мыши (в пикселах).
DisplayObject
 InheritedmouseY : Number
[только для чтения] Указывает координату y положения курсора мыши (в пикселах).
DisplayObject
 Inheritedname : String
Указывает имя экземпляра DisplayObject.
DisplayObject
 InheritedopaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[только для чтения] Указывает объект DisplayObjectContainer, содержащий данный экранный объект.
DisplayObject
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedroot : DisplayObject
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
DisplayObject
 Inheritedrotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах).
DisplayObject
 InheritedrotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationY : Number
Обозначает поворот в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 Inheritedscale9Grid : Rectangle
Текущая активная сетка масштабирования.
DisplayObject
 InheritedscaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleZ : Number
Указывает масштабирование глубины объекта (в процентах) относительно точки регистрации этого объекта.
DisplayObject
 InheritedscrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта.
DisplayObject
 Inheritedstage : Stage
[только для чтения] Класс Stage экранного объекта.
DisplayObject
 Inheritedtransform : Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
DisplayObject
 Inheritedvisible : Boolean
Определяет видимость экранного объекта.
DisplayObject
 Inheritedwidth : Number
Указывает ширину экранного объекта в пикселах.
DisplayObject
 Inheritedx : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedy : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedz : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
DisplayObject
Общедоступные методы
 МетодОпределено
  
Создает новый объект Shape.
Shape
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
 Inherited
Передает событие в поток событий.
EventDispatcher
 Inherited
DisplayObject
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий область экранного объекта, которая относится к системе координат объекта targetCoordinateSpace.
DisplayObject
 Inherited
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий границу экранного объекта по системе координат, заданной параметром targetCoordinateSpace, за исключением линий фигур.
DisplayObject
 Inherited
Преобразует объект Point из координат рабочей области (глобальных) в координаты экранного объекта (локальные).
DisplayObject
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Оценивает экранный объект, чтобы определить, перекрывает ли он экранный объект obj или пересекается с ним.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее.
DisplayObject
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные).
DisplayObject
 Inherited
DisplayObject
 Inherited
DisplayObject
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 InheritedОтправляется, когда экранный объект добавляется в список отображения.DisplayObject
 InheritedОтправляется, когда экранный объект добавляется к списку отображения в рабочей области, либо непосредственно, либо путем добавления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения переходит в новый кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения покидает текущий кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется после завершения работы конструкторов экранных объектов кадра до выполнения сценариев кадра.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения, либо непосредственно, либо путем удаления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется перед обновлением и визуализацией списка отображения.DisplayObject
Сведения о свойстве
graphicsсвойство
graphics:Graphics  [только для чтения]

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

Указывает объект Graphics, принадлежащий этому объекту Shape, где можно выполнять команды векторного рисования.


Реализация
    public function get graphics():Graphics
Сведения о конструкторе
Shape()Конструктор
public function Shape()

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

Создает новый объект Shape.

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

В следующем примере рассматривается использование класса ShapeExample для рисования круга, прямоугольного примитива со скругленными углами и квадрата. Это можно сделать, выполнив следующие действия.
  1. Объявите свойство size для последующего использования при определении размера каждой фигуры.
  2. Объявите свойства, определяющие оранжевый цвет фона, темно-серый цвет рамки, размер рамки в пикселах, равный 0, радиус угла, равный 9 пикселам; также задайте расстояние между краем рабочей области и другими объектами, равное 5 пикселам.
  3. Используйте свойства, объявленные в предыдущих шагах, вместе со встроенными методами класса Graphics, чтобы нарисовать круг, прямоугольный примитив со скругленными углами и квадрат с координатами x = 0, y = 0.
  4. Повторно нарисуйте все эти фигуры у верхнего края рабочей области, начиная с точки x = 5, y = 5 с расстоянием 5 пикселов между ними с использованием метода refreshLayout().

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 ShapeExample extends Sprite {
        private var size:uint           = 80;
        private var bgColor:uint       = 0xFFCC00;
        private var borderColor:uint  = 0x666666;
        private var borderSize:uint   = 0;
        private var cornerRadius:uint = 9;
        private var gutter:uint       = 5;

        public function ShapeExample() {
            doDrawCircle();
            doDrawRoundRect();
            doDrawRect();
            refreshLayout();
        }

        private function refreshLayout():void {
            var ln:uint = numChildren;
            var child:DisplayObject;
            var lastChild:DisplayObject = getChildAt(0);
            lastChild.x = gutter;
            lastChild.y = gutter;
            for (var i:uint = 1; i < ln; i++) {
                child = getChildAt(i);
                child.x = gutter + lastChild.x + lastChild.width;
                child.y = gutter;
                lastChild = child;
            }
        }

        private function doDrawCircle():void {
            var child:Shape = new Shape();
            var halfSize:uint = Math.round(size/2);
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawCircle(halfSize, halfSize, halfSize);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRoundRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRoundRect(0, 0, size, size, cornerRadius);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRect(0, 0, size, size);
            child.graphics.endFill();
            addChild(child);
        }
    }
}