Table of Contents

MovieClip

Inherits: Sprite

Supported platforms:

Available since version: Gideros 2011.6

Description:

The MovieClip class inherits from the following classes: Sprite > EventDispatcher.
The MovieClip class is used create static timedlined animations. The timeline parameters are given as an array.
Each array element specifies one timeline element and consists of the starting frame, ending frame, sprite and
optional tweening parameters. Frame numbers start from 1.
When a MovieClip object finishes it playing (by reaching its final frame or a frame with stop action),
it dispatches an Event.COMPLETE event.
The following properties can be tweened:
x
y
rotation
scale
scaleX
scaleY
alpha
Additionally MovieClip uses set function to tween properties, so if you override provided object's set function by adding new parameters it can accept, then you can tween those new parameters too.
The following easing functions can be used:
* "inBack"
* "outBack"
* "inOutBack"
* "inBounce"
* "outBounce"
* "inOutBounce"
* "inCircular"
* "outCircular"
* "inOutCircular"
* "inCubic"
* "outCubic"
* "inOutCubic"
* "inElastic"
* "outElastic"
* "inOutElastic"
* "inExponential"
* "outExponential"
* "inOutExponential"
* "linear"
* "inQuadratic"
* "outQuadratic"
* "inOutQuadratic"
* "inQuartic"
* "outQuartic"
* "inOutQuartic"
* "inQuintic"
* "outQuintic"
* "inOutQuintic"
* "inSine"
* "outSine"
* "inOutSine"
Following examples demonstrates the possible uses of MovieClip class.

Common uses and examples:

-- construct a 100 frame animation where x coordinate of sprite tweens from 0 to 200 linearly
local mc = MovieClip.new{
	{1, 100, sprite, {x = {0, 200, "linear"}}}
}

-- construct a 100 frame animation where x coordinate of sprite is 50 (constant) and 
-- y coordinate of sprite tweens from 50 to 150 by using inBounce function
local mc = MovieClip.new{
	{1, 100, sprite, {x = 50, y = {50, 150, "inBounce"}}}
}

-- construct a 200 frame animation where sprite1 and sprite2 tweens differently
-- here sprite1 is visible between frames [1, 150]
-- and sprite2 is visible between frames [100, 200]
local mc = MovieClip.new{
	{1, 100, sprite1, {x = {0, 200, "linear"}}},
	{50, 150, sprite1, {y = {0, 100, "linear"}, alpha = {0, 1, "easeOut"}}},
	{100, 200, sprite2, {x = {0, 200, "linear"}}},
}

	-- construct a looping 6 frame animation where each frame is a different sprite
	local mc = MovieClip.new{
		{1, 1, frame1},	
		{2, 2, frame2},	
		{3, 3, frame3},	
		{4, 4, frame4},	
		{5, 5, frame5},	
		{6, 6, frame6},
	}
	mc:setGotoAction(6, 1)	-- if the animation reaches frame 6 then go to frame 1
						
-- construct a looping 6 frame animation playing 5 times slower than the previous example
local mc = MovieClip.new{
	{1, 5, frame1},	
	{5, 10, frame2},	
	{11, 15, frame3},	
	{16, 20, frame4},	
	{21, 25, frame5},	
	{26, 30, frame6},
}
mc:setGotoAction(30, 1)	-- if the animation reaches frame 30 then go to frame 1

Methods, events and properties:

Inherited Methods
EventDispatcher.new
EventDispatcher:addEventListener
EventDispatcher:dispatchEvent
EventDispatcher:hasEventListener
EventDispatcher:removeAllListeners
EventDispatcher:removeEventListener
Sprite.new
Sprite:addChild
Sprite:addChildAt
Sprite:clearBlendMode
Sprite:contains
Sprite:get
Sprite:getAlpha
Sprite:getAnchorPosition
Sprite:getBounds
Sprite:getChildAt
Sprite:getChildIndex
Sprite:getClip
Sprite:getColorTransform
Sprite:getHeight
Sprite:getLayoutConstraints
Sprite:getLayoutInfo
Sprite:getLayoutParameters
Sprite:getMatrix
Sprite:getNumChildren
Sprite:getParent
Sprite:getPosition
Sprite:getRotation
Sprite:getRotationX
Sprite:getRotationY
Sprite:getScale
Sprite:getScaleX
Sprite:getScaleY
Sprite:getScaleZ
Sprite:getSkew
Sprite:getSkewX
Sprite:getSkewY
Sprite:getWidth
Sprite:getX
Sprite:getY
Sprite:getZ
Sprite:globalToLocal
Sprite:hitTestPoint
Sprite:isVisible
Sprite:localToGlobal
Sprite:removeChild
Sprite:removeChildAt
Sprite:removeFromParent
Sprite:set
Sprite:setAlpha
Sprite:setAnchorPosition
Sprite:setBlendMode
Sprite:setClip
Sprite:setColorTransform
Sprite:setLayoutConstraints
Sprite:setLayoutParameters
Sprite:setMatrix
Sprite:setPosition
Sprite:setRotation
Sprite:setRotationX
Sprite:setRotationY
Sprite:setScale
Sprite:setScaleX
Sprite:setScaleY
Sprite:setScaleZ
Sprite:setShader
Sprite:setShaderConstant
Sprite:setSkew
Sprite:setSkewX
Sprite:setSkewY
Sprite:setStencilOperation
Sprite:setVisible
Sprite:setX
Sprite:setY
Sprite:setZ
Sprite:swapChildren
Sprite:swapChildrenAt
Object:getBaseClass
Object:getClass
Object:isInstanceOf