| Package | flash.display | 
| Class | public class Shape | 
| Inheritance | Shape  DisplayObject  EventDispatcher  Object | 
| Subclasses | FlexShape | 
| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
graphics property, which lets you access methods from the Graphics class.
 
 The Sprite class also includes a graphicsproperty, and it includes other features not available to the 
 Shape class. For example, a Sprite object is a display object container, whereas a Shape object is not (and cannot contain 
 child display objects). For this reason, Shape objects consume less memory than Sprite objects that contain the 
 same graphics. However, a Sprite object supports user input events, while a Shape object does not.
Learn more
Related API Elements
Public Properties
| Property | Defined By | ||
|---|---|---|---|
|  | accessibilityProperties : AccessibilityProperties 
     The current accessibility options for this display object. | DisplayObject | |
|  | alpha : Number 
     Indicates the alpha transparency value of the object specified. | DisplayObject | |
|  | blendMode : String 
     A value from the BlendMode class that specifies which blend mode to use. | DisplayObject | |
|  | blendShader : Shader [write-only] 
     Sets a shader that is used for blending the foreground and background. | DisplayObject | |
|  | cacheAsBitmap : Boolean 
     If set to true, Flash runtimes cache an internal bitmap representation of the
     display object. | DisplayObject | |
|  | cacheAsBitmapMatrix : Matrix 
     If non-null, this Matrix object defines how a display object is rendered when 
     cacheAsBitmap is set to true. | DisplayObject | |
|  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance. | Object | |
|  | filters : Array 
     An indexed array that contains each filter object currently associated with the display object. | DisplayObject | |
| graphics : Graphics [read-only] 
     Specifies the Graphics object belonging to this Shape object, where vector
     drawing commands can occur. | Shape | ||
|  | height : Number 
     Indicates the height of the display object, in pixels. | DisplayObject | |
|  | loaderInfo : LoaderInfo [read-only] 
     Returns a LoaderInfo object containing information about loading the file
     to which this display object belongs. | DisplayObject | |
|  | mask : DisplayObject 
     The calling display object is masked by the specified mask object. | DisplayObject | |
|  | metaData : Object 
     Obtains the meta data object of the DisplayObject instance if meta data was stored alongside the
     the instance of this DisplayObject in the SWF file through a PlaceObject4 tag. | DisplayObject | |
|  | mouseX : Number [read-only] 
     Indicates the x coordinate of the mouse or user input device position, in pixels. | DisplayObject | |
|  | mouseY : Number [read-only] 
     Indicates the y coordinate of the mouse or user input device position, in pixels. | DisplayObject | |
|  | name : String 
     Indicates the instance name of the DisplayObject. | DisplayObject | |
|  | opaqueBackground : Object 
     Specifies whether the display object is opaque with a certain background color. | DisplayObject | |
|  | parent : DisplayObjectContainer [read-only] 
     Indicates the DisplayObjectContainer object that contains this display object. | DisplayObject | |
|  | root : DisplayObject [read-only] 
     For a display object in a loaded SWF file, the root property is the 
     top-most display object in the portion of the display list's tree structure represented by that SWF file. | DisplayObject | |
|  | rotation : Number 
     Indicates the rotation of the DisplayObject instance, in degrees, from its original orientation. | DisplayObject | |
|  | rotationX : Number 
     Indicates the x-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | DisplayObject | |
|  | rotationY : Number 
     Indicates the y-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | DisplayObject | |
|  | rotationZ : Number 
     Indicates the z-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container. | DisplayObject | |
|  | scale9Grid : Rectangle 
     The current scaling grid that is in effect. | DisplayObject | |
|  | scaleX : Number 
     Indicates the horizontal scale (percentage) of the object as applied from the registration point. | DisplayObject | |
|  | scaleY : Number 
     Indicates the vertical scale (percentage) of an object as applied from the registration point of the object. | DisplayObject | |
|  | scaleZ : Number 
     Indicates the depth scale (percentage) of an object as applied from the registration point of the object. | DisplayObject | |
|  | scrollRect : Rectangle 
     The scroll rectangle bounds of the display object. | DisplayObject | |
|  | stage : Stage [read-only] 
     The Stage of the display object. | DisplayObject | |
|  | transform : flash.geom:Transform 
    An object with properties pertaining to a display object's matrix, color transform, and pixel bounds. | DisplayObject | |
|  | visible : Boolean 
     Whether or not the display object is visible. | DisplayObject | |
|  | width : Number 
     Indicates the width of the display object, in pixels. | DisplayObject | |
|  | x : Number 
     Indicates the x coordinate of the DisplayObject instance relative to the local coordinates of
     the parent DisplayObjectContainer. | DisplayObject | |
|  | y : Number 
     Indicates the y coordinate of the DisplayObject instance relative to the local coordinates of
     the parent DisplayObjectContainer. | DisplayObject | |
|  | z : Number 
     Indicates the z coordinate position along the z-axis of the DisplayObject
     instance relative to the 3D parent container. | DisplayObject | |
Public Methods 
| Method | Defined By | ||
|---|---|---|---|
| Shape() 
     Creates a new Shape object. | Shape | ||
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
	Registers an event listener object with an EventDispatcher object so that the listener 
	receives notification of an event. | EventDispatcher | |
|  | 
	Dispatches an event into the event flow. | EventDispatcher | |
|  | 
     Returns a rectangle that defines the area of the display object relative to the coordinate system
     of the targetCoordinateSpace object. | DisplayObject | |
|  | 
    Returns a rectangle that defines the boundary of the display object, 
    based on the coordinate system defined by the targetCoordinateSpace 
    parameter, excluding any strokes on shapes. | DisplayObject | |
|  | 
     Converts the point object from the Stage (global) coordinates
     to the display object's (local) coordinates. | DisplayObject | |
|  | 
     Converts a two-dimensional point from the Stage (global) coordinates to a
     three-dimensional display object's (local) coordinates. | DisplayObject | |
|  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event. | EventDispatcher | |
|  | 
	 Indicates whether an object has a specified property defined. | Object | |
|  | 
     Evaluates the bounding box of the display object to see if it overlaps or intersects with the
     bounding box of the obj display object. | DisplayObject | |
|  | 
     Evaluates the display object to see if it overlaps or intersects with the
     point specified by the x and y parameters. | DisplayObject | |
|  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter. | Object | |
|  | 
     Converts a three-dimensional point of the three-dimensional display 
     object's (local) coordinates to a two-dimensional point in the Stage (global) coordinates. | DisplayObject | |
|  | 
     Converts the point object from the display object's (local) coordinates to the
     Stage (global) coordinates. | DisplayObject | |
|  | 
	 Indicates whether the specified property exists and is enumerable. | Object | |
|  | 
	Removes a listener from the EventDispatcher object. | EventDispatcher | |
|  | 
     Sets the availability of a dynamic property for loop operations. | Object | |
|  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
|  | 
	 Returns the string representation of the specified object. | Object | |
|  | 
	 Returns the primitive value of the specified object. | Object | |
|  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type. | EventDispatcher | |
Events
| Event | Summary | Defined By | ||
|---|---|---|---|---|
|  | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
|  | Dispatched when a display object is added to the display list. | DisplayObject | ||
|  | Dispatched when a display object is added to the on stage display list, either directly or through the addition of a sub tree in which the display object is contained. | DisplayObject | ||
|  | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
|  | [broadcast event] Dispatched when the playhead is entering a new frame. | DisplayObject | ||
|  | [broadcast event] Dispatched when the playhead is exiting the current frame. | DisplayObject | ||
|  | [broadcast event] Dispatched after the constructors of frame display objects have run but before frame scripts have run. | DisplayObject | ||
|  | Dispatched when a display object is about to be removed from the display list. | DisplayObject | ||
|  | Dispatched when a display object is about to be removed from the display list, either directly or through the removal of a sub tree in which the display object is contained. | DisplayObject | ||
|  | [broadcast event] Dispatched when the display list is about to be updated and rendered. | DisplayObject | ||
Property Detail
| graphics | property | 
Constructor Detail
| Shape | () | Constructor | 
public function Shape()| Language Version: | ActionScript 3.0 | 
| Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
Creates a new Shape object.
Examples How to use this example 
ShapeExample.as
 The following example uses the 
ShapeExample class to draw a circle,
 a rounded rectangle, and a square.  This task is accomplished by performing the following steps:
 
 - Declare a sizeproperty for later use in determining the size of each shape.
- Declare properties that set the background color to orange, the border color to dark gray, the border size to 0 pixels, the corner radius to 9 pixels, and set the space between the stage edge and the other objects to be 5 pixels.
- Use the properties declared in the preceding steps along with the built-in methods of the Graphics class to draw the circle, rounded rectangle, and square at coordinates x = 0, y = 0.
- Redraw each of the shapes along the top of the stage, starting at x = 5, y = 5, with
     a 5-pixel spacing between shapes by using the refreshLayout()method.
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);
        }
    }
}
Thu Dec 4 2014, 05:50 PM -08:00