Class: GroupAction
The Action class has static methods for creating actions to be executed by an M2Node.
Extends
Implements
ActionContainer
Constructors
new GroupAction()
new GroupAction(
actions
):GroupAction
Parameters
• actions: Action
[]
Returns
Overrides
Defined in
Action.ts:988
Properties
children
children:
Action
[]
Immediate children of a parent action.
Implementation of
ActionContainer.children
Defined in
Action.ts:986
duration
duration:
Futurable
Implementation of
ActionContainer.duration
Inherited from
Defined in
Action.ts:38
key?
optional
key:string
Implementation of
ActionContainer.key
Inherited from
Defined in
Action.ts:41
parent?
optional
parent:ActionContainer
Implementation of
ActionContainer.parent
Inherited from
Defined in
Action.ts:40
runDuringTransition
runDuringTransition:
boolean
Implementation of
ActionContainer.runDuringTransition
Inherited from
Defined in
Action.ts:39
running
running:
boolean
=false
Implementation of
ActionContainer.running
Inherited from
Defined in
Action.ts:31
runStartTime
runStartTime:
number
=-1
Start time of a running action is always known; it is not a Futurable
.
-1 indicates that the root action has not yet started running.
Implementation of
ActionContainer.runStartTime
Inherited from
Defined in
Action.ts:37
started
started:
boolean
=false
Implementation of
ActionContainer.started
Inherited from
Defined in
Action.ts:30
startOffset
startOffset:
Futurable
Implementation of
ActionContainer.startOffset
Inherited from
Defined in
Action.ts:29
type
type:
ActionType
=ActionType.Group
Implementation of
ActionContainer.type
Overrides
Defined in
Action.ts:985
Accessors
completed
Get Signature
get completed():
boolean
Indicates whether the action has completed, taking into account all its child actions.
Remarks
Is read-only for parent actions.
Returns
boolean
Implementation of
ActionContainer.completed
Overrides
Defined in
Action.ts:1007
descendants
Get Signature
get descendants():
Action
[]
All children of a parent action and those children's children, recursively.
Returns
Action
[]
Implementation of
ActionContainer.descendants
Defined in
Action.ts:1011
Methods
assignRunStartTimes()
assignRunStartTimes(
action
,runStartTime
):void
Assigns RunStartTime to all actions in the hierarchy.
Parameters
• action: Action
the action to assign RunStartTime to
• runStartTime: number
Returns
void
Remarks
Uses recursion to handle arbitrary level of nesting parent actions within parent actions.
Implementation of
ActionContainer.assignRunStartTimes
Inherited from
Defined in
Action.ts:650
clone()
clone():
GroupAction
Clones the action, and any actions it contains, recursively.
Returns
a clone of the action
Remarks
We need to clone an action before running it because actions
have state that is updated over time such as whether they are running or
not, etc. If we didn't clone actions, two nodes reusing the same action
would share state. On Action
, this method is abstract and is
implemented in each subclass.
Implementation of
ActionContainer.clone
Overrides
Defined in
Action.ts:993
initialize()
initialize(
key
?):Action
Prepares the Action for evaluation.
Parameters
• key?: string
optional string to identify an action
Returns
action prepared for evaluation
Remarks
Calculates start times for all actions in the hierarchy and returns a copy of the action that is prepared for evaluation during the update loop.
Implementation of
ActionContainer.initialize
Inherited from
Defined in
Action.ts:57
isParent()
isParent(
action
):action is ActionContainer
Type guard that returns true if the action is a parent action.
Parameters
• action: Action
action to check
Returns
action is ActionContainer
true if the action is a parent action
Remarks
Parent actions are Group, Sequence, Repeat, and RepeatForever actions.
Implementation of
ActionContainer.isParent
Inherited from
Defined in
Action.ts:913
restartAction()
restartAction(
action
,now
):void
Configures action to be run again.
Parameters
• action: Action
action to restart
• now: number
current time
Returns
void
Remarks
This method is called on a repeating action's children when they need to be run again.
Implementation of
ActionContainer.restartAction
Inherited from
Defined in
Action.ts:668
shouldBeRunning()
shouldBeRunning(
now
):boolean
Determines if the action should be running.
Parameters
• now: number
current time
Returns
boolean
true if the action should be running
Remarks
An action should be running if current time is in the interval [ start time + start offset, start time + start offset + duration ]
Implementation of
ActionContainer.shouldBeRunning
Inherited from
Defined in
Action.ts:707
custom()
static
custom(options
):CustomAction
Creates an action that will execute a callback function.
Parameters
• options: CustomActionOptions
Returns
The custom action
Inherited from
Defined in
Action.ts:749
evaluateAction()
static
evaluateAction(action
,node
,now
,dt
):void
Evaluates an action, updating the node's properties as needed.
Parameters
• action: Action
the Action to be evaluated and possibly run
• node: M2Node
the M2Node
that the action will be run on
• now: number
the current elapsed time, from performance.now()
• dt: number
the time since the last frame (delta time)
Returns
void
Remarks
This method is called every frame by the M2Node's update()
method.
Inherited from
Defined in
Action.ts:279
fadeAlpha()
static
fadeAlpha(options
):FadeAlphaAction
Creates an action that will change the node's alpha (opacity).
Parameters
• options: FadeAlphaActionOptions
Returns
The fadeAlpha action
Remarks
Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's action fades alpha to .4, then the node will appear with alpha .2.
Inherited from
Defined in
Action.ts:798
group()
static
group(actions
):GroupAction
Create an array of actions that will be run simultaneously.
Parameters
• actions: Action
[]
One or more actions that form the group
Returns
Remarks
All actions within the group will begin to run at the same time. The group will be considered completed when the longest-running action has completed.
Inherited from
Defined in
Action.ts:871
move()
static
move(options
):MoveAction
Creates an action that will move a node to a point on the screen.
Parameters
• options: MoveActionOptions
Returns
The move action
Inherited from
Defined in
Action.ts:720
play()
static
play(options
?):PlayAction
Creates an action that will play a sound.
Parameters
• options?: PlayActionOptions
Returns
The play action
Remarks
This action can only be used with a SoundPlayer node. It will throw an error if used with any other node type.
Inherited from
Defined in
Action.ts:765
repeat()
static
repeat(options
):RepeatAction
Creates an action that will repeat another action a given number of times.
Parameters
• options: RepeatActionOptions
RepeatActionOptions
Returns
The repeat action
Inherited from
Defined in
Action.ts:883
repeatForever()
static
repeatForever(options
):RepeatForeverAction
Creates an action that will repeat another action forever.
Parameters
• options: RepeatForeverActionOptions
RepeatForeverActionOptions
Returns
The repeat forever action
Remarks
A repeat forever action is a special case of a repeat action where the count is set to infinity.
Inherited from
Defined in
Action.ts:900
rotate()
static
rotate(options
):RotateAction
Creates an action that will rotate the node.
Parameters
• options: RotateActionOptions
RotateActionOptions
Returns
The rotate action
Remarks
Rotate actions are applied to their children. In addition to this node's rotate action, all ancestors' rotate actions will also be applied.
Inherited from
Defined in
Action.ts:815
scale()
static
scale(options
):ScaleAction
Creates an action that will scale the node's size.
Parameters
• options: ScaleActionOptions
Returns
The scale action
Remarks
Scaling is relative to any inherited scaling, which is multiplicative. For example, if the node's parent is scaled to 2.0 and this node's action scales to 3.0, then the node will appear 6 times as large as original.
Inherited from
Defined in
Action.ts:780
sequence()
static
sequence(actions
):SequenceAction
Creates an array of actions that will be run in order.
Parameters
• actions: Action
[]
One or more actions that form the sequence
Returns
Remarks
The next action will not begin until the current one has finished. The sequence will be considered completed when the last action has completed.
Inherited from
Defined in
Action.ts:855
wait()
static
wait(options
):WaitAction
Creates an action that will wait a given duration before it is considered complete.
Parameters
• options: WaitActionOptions
Returns
The wait action
Inherited from
Defined in
Action.ts:736