Class: abstract
Action
The Action class has static methods for creating actions to be executed by an M2Node.
Extended by
SequenceAction
GroupAction
RepeatAction
CustomAction
PlayAction
WaitAction
MoveAction
ScaleAction
FadeAlphaAction
RotateAction
Constructors
new Action()
new Action(
runDuringTransition
):Action
Parameters
• runDuringTransition: boolean
= false
Returns
Defined in
m2c2kit/packages/core/src/Action.ts:44
Properties
duration
duration:
Futurable
Defined in
m2c2kit/packages/core/src/Action.ts:39
key?
optional
key:string
Defined in
m2c2kit/packages/core/src/Action.ts:42
parent?
optional
parent:ActionContainer
Defined in
m2c2kit/packages/core/src/Action.ts:41
runDuringTransition
runDuringTransition:
boolean
Defined in
m2c2kit/packages/core/src/Action.ts:40
running
running:
boolean
=false
Defined in
m2c2kit/packages/core/src/Action.ts:32
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.
Defined in
m2c2kit/packages/core/src/Action.ts:38
started
started:
boolean
=false
Defined in
m2c2kit/packages/core/src/Action.ts:31
startOffset
startOffset:
Futurable
Defined in
m2c2kit/packages/core/src/Action.ts:30
type
abstract
type:ActionType
Defined in
m2c2kit/packages/core/src/Action.ts:29
Accessors
completed
Get Signature
get completed():
boolean
Indicates whether the action has completed.
Returns
boolean
Set Signature
set completed(
value
):void
Parameters
• value: boolean
Returns
void
Defined in
m2c2kit/packages/core/src/Action.ts:948
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.
Defined in
m2c2kit/packages/core/src/Action.ts:651
clone()
abstract
clone():Action
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.
Defined in
m2c2kit/packages/core/src/Action.ts:78
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.
Defined in
m2c2kit/packages/core/src/Action.ts:58
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.
Defined in
m2c2kit/packages/core/src/Action.ts:918
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.
Defined in
m2c2kit/packages/core/src/Action.ts:669
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 ]
Defined in
m2c2kit/packages/core/src/Action.ts:708
custom()
static
custom(options
):CustomAction
Creates an action that will execute a callback function.
Parameters
• options: CustomActionOptions
Returns
The custom action
Defined in
m2c2kit/packages/core/src/Action.ts:750
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.
Defined in
m2c2kit/packages/core/src/Action.ts:280
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.
Defined in
m2c2kit/packages/core/src/Action.ts:799
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.
Defined in
m2c2kit/packages/core/src/Action.ts:876
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
Defined in
m2c2kit/packages/core/src/Action.ts:721
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.
Defined in
m2c2kit/packages/core/src/Action.ts:766
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
Defined in
m2c2kit/packages/core/src/Action.ts:888
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.
Defined in
m2c2kit/packages/core/src/Action.ts:905
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.
Defined in
m2c2kit/packages/core/src/Action.ts:816
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.
Defined in
m2c2kit/packages/core/src/Action.ts:781
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.
Defined in
m2c2kit/packages/core/src/Action.ts:860
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
Defined in
m2c2kit/packages/core/src/Action.ts:737