GODPAPER | All Packages | All Classes | Index | Frames No Frames |
MovieClip

Package | starling.display
Class | public class MovieClip
Inheritance | MovieClip Image Quad DisplayObject EventDispatcher Object
Implements | IAnimatable

A MovieClip is a simple way to display an animation depicted by a list of textures.

Pass the frames of the movie in a vector of textures to the constructor. The movie clip will have the width and height of the first frame. If you group your frames with the help of a texture atlas (which is recommended), use the `getTextures`-method of the atlas to receive the textures in the correct (alphabetic) order.

You can specify the desired framerate via the constructor. You can, however, manually give each frame a custom duration. You can also play a sound whenever a certain frame appears.

The methods `play` and `pause` control playback of the movie. You will receive an event of type `Event.MovieCompleted` when the movie finished playback. If the movie is looping, the event is dispatched once per loop.

As any animated object, a movie clip has to be added to a juggler (or have its `advanceTime` method called regularly) to run. The movie will dispatch an event of type "Event.COMPLETE" whenever it has displayed its last frame.

See also

starling.textures.TextureAtlas

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alpha : Number [override] The opacity of the object. | Quad
|  | base : DisplayObject [read-only] The topmost object in the display tree the object is part of. | DisplayObject
|  | blendMode : String The blend mode determines how the object is blended with the objects underneath. | DisplayObject
|  | bounds : Rectangle [read-only] The bounds of the object relative to the local coordinates of the parent. | DisplayObject
|  | color : uint Returns the color of the quad, or of vertex 0 if vertices have different colors. | Quad
|  | currentFrame : int The index of the frame that is currently displayed. | MovieClip
|  | currentTime : Number [read-only] The time that has passed since the clip was started (each loop starts at zero). | MovieClip
|  | filter : FragmentFilter The filter that is attached to the display object. | DisplayObject
|  | fps : Number The default number of frames per second. | MovieClip
|  | hasVisibleArea : Boolean [read-only] Indicates if an object occupies any visible area. | DisplayObject
|  | height : Number The height of the object in pixels. | DisplayObject
|  | isComplete : Boolean [read-only] Indicates if a (non-looping) movie has come to its end. | MovieClip
|  | isPlaying : Boolean [read-only] Indicates if the clip is still playing. | MovieClip
|  | loop : Boolean Indicates if the clip should loop. | MovieClip
|  | name : String The name of the display object (default: null). | DisplayObject
|  | numFrames : int [read-only] The total number of frames. | MovieClip
|  | parent : DisplayObjectContainer [read-only] The display object container that contains this display object. | DisplayObject
|  | pivotX : Number The x coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject
|  | pivotY : Number The y coordinate of the object's origin in its own coordinate space (default: 0). | DisplayObject
|  | premultipliedAlpha : Boolean [read-only] Indicates if the rgb values are stored premultiplied with the alpha value; this can affect the rendering. | Quad
|  | root : DisplayObject [read-only] The root object the display object is connected to (i.e. | DisplayObject
|  | rotation : Number The rotation of the object in radians. | DisplayObject
|  | scaleX : Number The horizontal scale factor. | DisplayObject
|  | scaleY : Number The vertical scale factor. | DisplayObject
|  | skewX : Number The horizontal skew angle in radians. | DisplayObject
|  | skewY : Number The vertical skew angle in radians. | DisplayObject
|  | smoothing : String The smoothing filter that is used for the texture. | Image
|  | stage : Stage [read-only] The stage the display object is connected to, or null if it is not connected to the stage. | DisplayObject
|  | texture : Texture The texture that is displayed on the quad. | Image
|  | tinted : Boolean [read-only] Returns true if the quad (or any of its vertices) is non-white or non-opaque. | Quad
|  | totalTime : Number [read-only] The total duration of the clip in seconds. | MovieClip
|  | touchable : Boolean Indicates if this object (and its children) will receive touch events. | DisplayObject
|  | transformationMatrix : Matrix The transformation matrix of the object relative to its parent. | DisplayObject
|  | useHandCursor : Boolean Indicates if the mouse cursor should transform into a hand while it's over the sprite. | DisplayObject
|  | visible : Boolean The visibility of the object. | DisplayObject
|  | width : Number The width of the object in pixels. | DisplayObject
|  | x : Number The x coordinate of the object relative to the local coordinates of the parent. | DisplayObject
|  | y : Number The y coordinate of the object relative to the local coordinates of the parent. | DisplayObject

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | mVertexData : VertexData The raw vertex data of the quad. | Quad

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | MovieClip(textures:Vector.<Texture>, fps:Number = 12) Creates a movie clip from the provided textures and with the specified default framerate. | MovieClip
|  | addEventListener(type:String, listener:Function):void [override] | DisplayObject
|  | addFrame(texture:Texture, sound:Sound = null, duration:Number = -1):void Adds an additional frame, optionally with a sound and a custom duration. | MovieClip
|  | addFrameAt(frameID:int, texture:Texture, sound:Sound = null, duration:Number = -1):void Adds a frame at a certain index, optionally with a sound and a custom duration. | MovieClip
|  | advanceTime(passedTime:Number):void Advance the time by a number of seconds. | MovieClip
|  | alignPivot(hAlign:String = center, vAlign:String = center):void Moves the pivot point to a certain position within the local coordinate system of the object. | DisplayObject
|  | copyVertexDataTo(targetData:VertexData, targetVertexID:int = 0):void [override] Copies the raw vertex data to a VertexData instance. | Image
|  | copyVertexDataTransformedTo(targetData:VertexData, targetVertexID:int = 0, matrix:Matrix = null):void [override] Transforms the vertex positions of the raw vertex data by a certain matrix and copies the result to another VertexData instance. | Image
|  | dispatchEvent(event:Event):void Dispatches an event to all objects that have registered listeners for its type. | EventDispatcher
|  | dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void Dispatches an event with the given parameters to all objects that have registered listeners for the given type. | EventDispatcher
|  | dispose():void Disposes all resources of the display object. | DisplayObject
|  | fromBitmap(bitmap:Bitmap, generateMipMaps:Boolean = true, scale:Number = 1):Image [static] Creates an Image with a texture that is created from a bitmap object. | Image
|  | getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle [override] Returns a rectangle that completely encloses the object as it appears in another coordinate system. | Quad
|  | getFrameDuration(frameID:int):Number Returns the duration of a certain frame (in seconds). | MovieClip
|  | getFrameSound(frameID:int):Sound Returns the sound of a certain frame. | MovieClip
|  | getFrameTexture(frameID:int):Texture Returns the texture of a certain frame. | MovieClip
|  | getTexCoords(vertexID:int, resultPoint:Point = null):Point Gets the texture coordinates of a vertex. | Image
|  | getTransformationMatrix(targetSpace:DisplayObject, resultMatrix:Matrix = null):Matrix Creates a matrix that represents the transformation from the local coordinate system to another. | DisplayObject
|  | getVertexAlpha(vertexID:int):Number Returns the alpha value of a vertex at a certain index. | Quad
|  | getVertexColor(vertexID:int):uint Returns the color of a vertex at a certain index. | Quad
|  | globalToLocal(globalPoint:Point, resultPoint:Point = null):Point Transforms a point from global (stage) coordinates to the local coordinate system. | DisplayObject
|  | hasEventListener(type:String):Boolean Returns if there are listeners registered for a certain event type. | EventDispatcher
|  | hitTest(localPoint:Point, forTouch:Boolean = false):DisplayObject Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails. | DisplayObject
|  | localToGlobal(localPoint:Point, resultPoint:Point = null):Point Transforms a point from the local coordinate system to global (stage) coordinates. | DisplayObject
|  | pause():void Pauses playback. | MovieClip
|  | play():void Starts playback. | MovieClip
|  | readjustSize():void Readjusts the dimensions of the image according to its current texture. | Image
|  | removeEventListener(type:String, listener:Function):void [override] | DisplayObject
|  | removeEventListeners(type:String = null):void [override] | DisplayObject
|  | removeFrameAt(frameID:int):void Removes the frame at a certain ID. | MovieClip
|  | removeFromParent(dispose:Boolean = false):void Removes the object from its parent, if it has one, and optionally disposes it. | DisplayObject
|  | render(support:RenderSupport, parentAlpha:Number):void [override] Renders the display object with the help of a support object. | Image
|  | setFrameDuration(frameID:int, duration:Number):void Sets the duration of a certain frame (in seconds). | MovieClip
|  | setFrameSound(frameID:int, sound:Sound):void Sets the sound of a certain frame. | MovieClip
|  | setFrameTexture(frameID:int, texture:Texture):void Sets the texture of a certain frame. | MovieClip
|  | setTexCoords(vertexID:int, coords:Point):void Sets the texture coordinates of a vertex. | Image
|  | setTexCoordsTo(vertexID:int, u:Number, v:Number):void Sets the texture coordinates of a vertex. | Image
|  | setVertexAlpha(vertexID:int, alpha:Number):void Sets the alpha value of a vertex at a certain index. | Quad
|  | setVertexColor(vertexID:int, color:uint):void Sets the color of a vertex at a certain index. | Quad
|  | stop():void Stops playback, resetting "currentFrame" to zero. | MovieClip

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | onVertexDataChanged():void [override] Call this method after manually changing the contents of 'mVertexData'. | Image

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | added | Dispatched when an object is added to a parent. | DisplayObject
|  | addedToStage | Dispatched when an object is connected to the stage (directly or indirectly). | DisplayObject
|  | complete | Dispatched whenever the movie has displayed its last frame. | MovieClip
|  | enterFrame | Dispatched once every frame on every object that is connected to the stage. | DisplayObject
|  | keyDown | Dispatched when a key on the keyboard is pressed. | DisplayObject
|  | keyUp | Dispatched when a key on the keyboard is released. | DisplayObject
|  | removed | Dispatched when an object is removed from its parent. | DisplayObject
|  | removedFromStage | Dispatched when an object is removed from the stage and won't be rendered any longer. | DisplayObject
|  | touch | Dispatched when an object is touched. | DisplayObject

Property Detail

currentFrame | property

`currentFrame:int`

The index of the frame that is currently displayed.

Implementation
`public function get currentFrame():int`
`public function set currentFrame(value:int):void`

currentTime | property |

`currentTime:Number` [read-only]

The time that has passed since the clip was started (each loop starts at zero).

Implementation
`public function get currentTime():Number`

fps | property |

`fps:Number`

The default number of frames per second. Individual frames can have different durations. If you change the fps, the durations of all frames will be scaled relatively to the previous value.

Implementation
`public function get fps():Number`
`public function set fps(value:Number):void`

isComplete | property |

`isComplete:Boolean` [read-only]

Indicates if a (non-looping) movie has come to its end.

Implementation
`public function get isComplete():Boolean`

isPlaying | property |

`isPlaying:Boolean` [read-only]

Indicates if the clip is still playing. Returns `false` when the end is reached.

Implementation
`public function get isPlaying():Boolean`

loop | property |

`loop:Boolean`

Indicates if the clip should loop.

Implementation
`public function get loop():Boolean`
`public function set loop(value:Boolean):void`

numFrames | property |

`numFrames:int` [read-only]

The total number of frames.

Implementation
`public function get numFrames():int`

totalTime | property |

`totalTime:Number` [read-only]

The total duration of the clip in seconds.

Implementation
`public function get totalTime():Number`
Constructor Detail

MovieClip | () | Constructor

`public function MovieClip(textures:Vector.<Texture>, fps:Number = 12)`

Creates a movie clip from the provided textures and with the specified default framerate. The movie will have the size of the first frame.

Parameters

| `textures:Vector.<Texture>`
| `fps:Number` (default = `12`)``

Method Detail

addFrame | () | method

`public function addFrame(texture:Texture, sound:Sound = null, duration:Number = -1):void`

Adds an additional frame, optionally with a sound and a custom duration. If the duration is omitted, the default framerate is used (as specified in the constructor).

Parameters

| `texture:Texture`
| `sound:Sound` (default = `null`)``
| `duration:Number` (default = `-1`)``

addFrameAt | () | method |

`public function addFrameAt(frameID:int, texture:Texture, sound:Sound = null, duration:Number = -1):void`

Adds a frame at a certain index, optionally with a sound and a custom duration.

Parameters

| `frameID:int`
| `texture:Texture`
| `sound:Sound` (default = `null`)``
| `duration:Number` (default = `-1`)``

advanceTime | () | method |

`public function advanceTime(passedTime:Number):void`

Advance the time by a number of seconds.

Parameters

| `passedTime:Number` — in seconds.

getFrameDuration | () | method |

`public function getFrameDuration(frameID:int):Number`

Returns the duration of a certain frame (in seconds).

Parameters

| `frameID:int`

Returns

| `Number`

getFrameSound | () | method |

`public function getFrameSound(frameID:int):Sound`

Returns the sound of a certain frame.

Parameters

| `frameID:int`

Returns

| `Sound`

getFrameTexture | () | method |

`public function getFrameTexture(frameID:int):Texture`

Returns the texture of a certain frame.

Parameters

| `frameID:int`

Returns

| `Texture`

pause | () | method |

`public function pause():void`

Pauses playback.

play | () | method |

`public function play():void`

Starts playback. Beware that the clip has to be added to a juggler, too!

removeFrameAt | () | method |

`public function removeFrameAt(frameID:int):void`

Removes the frame at a certain ID. The successors will move down.

Parameters

| `frameID:int`

setFrameDuration | () | method |

`public function setFrameDuration(frameID:int, duration:Number):void`

Sets the duration of a certain frame (in seconds).

Parameters

| `frameID:int`
| `duration:Number`

setFrameSound | () | method |

`public function setFrameSound(frameID:int, sound:Sound):void`

Sets the sound of a certain frame. The sound will be played whenever the frame is displayed.

Parameters

| `frameID:int`
| `sound:Sound`

setFrameTexture | () | method |

`public function setFrameTexture(frameID:int, texture:Texture):void`

Sets the texture of a certain frame.

Parameters

| `frameID:int`
| `texture:Texture`

stop | () | method |

`public function stop():void`

Stops playback, resetting "currentFrame" to zero.

Event Detail

complete | Event

Event Object Type: `starling.events.Event`

Dispatched whenever the movie has displayed its last frame.

Thu Jan 16 2014, 01:11 PM +08:00