Class: abstract
M2Node
Extended by
Implements
Constructors
new M2Node()
new M2Node(
options
):M2Node
Parameters
• options: M2NodeOptions
= {}
Returns
Defined in
M2Node.ts:143
Properties
_alpha
_alpha:
number
=1.0
Defined in
M2Node.ts:98
_draggable
protected
_draggable:boolean
=false
Defined in
M2Node.ts:101
_game?
optional
_game:Game
Defined in
M2Node.ts:105
_hidden
protected
_hidden:boolean
=false
Defined in
M2Node.ts:102
_isUserInteractionEnabled
protected
_isUserInteractionEnabled:boolean
=false
Defined in
M2Node.ts:100
_position
_position:
Point
Defined in
M2Node.ts:96
_scale
_scale:
number
=1.0
Defined in
M2Node.ts:97
_size
protected
_size:Size
Defined in
M2Node.ts:109
_zRotation
_zRotation:
number
=0
Defined in
M2Node.ts:99
absoluteAlpha
absoluteAlpha:
number
=1.0
Defined in
M2Node.ts:111
absoluteAlphaChange
absoluteAlphaChange:
number
=0
Defined in
M2Node.ts:112
absolutePosition
absolutePosition:
Point
Defined in
M2Node.ts:108
absoluteScale
absoluteScale:
number
=1.0
Defined in
M2Node.ts:110
actions
actions:
Action
[]
Defined in
M2Node.ts:113
children
children:
M2Node
[]
Defined in
M2Node.ts:107
constructionIso8601TimeStamp
constructionIso8601TimeStamp:
string
Defined in
M2Node.ts:92
constructionSequence
constructionSequence:
number
Defined in
M2Node.ts:93
constructionTimeStamp
constructionTimeStamp:
number
Defined in
M2Node.ts:91
dragging
dragging:
boolean
=false
Is the node in a dragging state?
Defined in
M2Node.ts:141
draggingLastPointerOffset
draggingLastPointerOffset:
Point
What was the previous pointer offset when the node was in a dragging state?
Defined in
M2Node.ts:139
eventListeners
eventListeners:
M2NodeEventListener
<M2NodeEvent
>[]
Defined in
M2Node.ts:115
isDrawable
isDrawable:
boolean
=false
Defined in
M2Node.ts:86
isShape
isShape:
boolean
=false
Defined in
M2Node.ts:87
isText
isText:
boolean
=false
Defined in
M2Node.ts:88
layout
layout:
Layout
={}
FOR INTERNAL USE ONLY
Implementation of
Defined in
M2Node.ts:103
loopMessages
loopMessages:
Set
<string
>
Defined in
M2Node.ts:121
name
name:
string
Name of the node. Only needed if the node will be referred to by name in a later function
Implementation of
Defined in
M2Node.ts:95
needsInitialization
needsInitialization:
boolean
=true
Defined in
M2Node.ts:117
nodeEvents
Defined in
M2Node.ts:122
options
options:
M2NodeOptions
Defined in
M2Node.ts:90
parent?
optional
parent:M2Node
Defined in
M2Node.ts:106
pressed
pressed:
boolean
=false
Is the node in a pressed state? E.g., did the user put the pointer down on the node and not yet release it?
Defined in
M2Node.ts:126
pressedAndWithinHitArea
pressedAndWithinHitArea:
boolean
=false
Is the node in a pressed state AND is the pointer within the node's hit area? For example, a user may put the pointer down on the node, but then move the pointer, while still down, beyond the node's hit area. In this case, pressed = true, but pressedAndWithinHitArea = false.
Defined in
M2Node.ts:132
pressedInitialPointerOffset
pressedInitialPointerOffset:
Point
When the node initially enters the pressed state, what is the pointer offset? (offset from the canvas's origin to the pointer position). We save this because it will be needed if this press then led to a drag.
Defined in
M2Node.ts:136
queuedAction?
optional
queuedAction:Action
Defined in
M2Node.ts:114
type
type:
M2NodeType
=M2NodeType.Node
Defined in
M2Node.ts:85
userData
userData:
any
={}
Defined in
M2Node.ts:120
uuid
readonly
uuid:string
Internal
Unique identifier (UUID). Will be generated automatically. For m2c2kit library use only
Implementation of
Defined in
M2Node.ts:116
withinHitArea
withinHitArea:
boolean
=false
Defined in
M2Node.ts:127
Accessors
alpha
Get Signature
get alpha():
number
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Returns
number
Set Signature
set alpha(
alpha
):void
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Parameters
• alpha: number
Returns
void
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Implementation of
Defined in
M2Node.ts:1383
ancestors
Get Signature
get ancestors():
M2Node
[]
Returns all ancestor nodes, not including the node itself.
Returns
M2Node
[]
Defined in
M2Node.ts:537
canvasKit
Get Signature
get canvasKit():
CanvasKit
Gets the scene that contains this node by searching up the ancestor tree recursively. Throws exception if node is not part of a scene.
Returns
CanvasKit
Scene that contains this node
Defined in
M2Node.ts:1277
completeNodeOptions
Get Signature
get
protected
completeNodeOptions():M2NodeOptions
Returns
Defined in
M2Node.ts:198
descendants
Get Signature
get descendants():
M2Node
[]
Returns all descendant nodes.
Remarks
Descendants are children and children of children, recursively.
Returns
M2Node
[]
Defined in
M2Node.ts:524
draggable
Get Signature
get draggable():
boolean
Can the node be dragged?
Returns
boolean
Set Signature
set draggable(
draggable
):void
Can the node be dragged?
Parameters
• draggable: boolean
Returns
void
Can the node be dragged?
Implementation of
Defined in
M2Node.ts:1419
game
Get Signature
get game():
Game
The game which this node is a part of.
Remarks
Throws error if node is not part of the game object.
Returns
Defined in
M2Node.ts:277
hidden
Get Signature
get hidden():
boolean
Is the node, and its children, hidden? (not displayed). Default is false
Returns
boolean
Set Signature
set hidden(
hidden
):void
Is the node, and its children, hidden? (not displayed). Default is false
Parameters
• hidden: boolean
Returns
void
Is the node, and its children, hidden? (not displayed). Default is false
Implementation of
Defined in
M2Node.ts:1408
isUserInteractionEnabled
Get Signature
get isUserInteractionEnabled():
boolean
Does the node respond to user events, such as taps? Default is false
Returns
boolean
Set Signature
set isUserInteractionEnabled(
isUserInteractionEnabled
):void
Does the node respond to user events, such as taps? Default is false
Parameters
• isUserInteractionEnabled: boolean
Returns
void
Does the node respond to user events, such as taps? Default is false
Implementation of
M2NodeOptions
.isUserInteractionEnabled
Defined in
M2Node.ts:1394
parentSceneAsNode
Get Signature
get parentSceneAsNode():
M2Node
Returns
Defined in
M2Node.ts:1281
position
Get Signature
get position():
Point
Position of the node within its parent coordinate system. Default is (0, 0)
Returns
Set Signature
set position(
position
):void
Position of the node within its parent coordinate system. Default is (0, 0)
Parameters
• position: Point
Returns
void
Position of the node within its parent coordinate system. Default is (0, 0)
Implementation of
Defined in
M2Node.ts:1327
scale
Get Signature
get scale():
number
Scale of the node. Default is 1.0
Returns
number
Set Signature
set scale(
scale
):void
Scale of the node. Default is 1.0
Parameters
• scale: number
Returns
void
Scale of the node. Default is 1.0
Implementation of
Defined in
M2Node.ts:1372
size
Get Signature
get size():
Size
Returns
Set Signature
set size(
size
):void
Parameters
• size: Size
Returns
void
Defined in
M2Node.ts:1293
suppressEvents
Get Signature
get suppressEvents():
boolean
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Returns
boolean
Set Signature
set suppressEvents(
value
):void
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Parameters
• value: boolean
Returns
void
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Implementation of
Defined in
M2Node.ts:1430
zRotation
Get Signature
get zRotation():
number
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Returns
number
Set Signature
set zRotation(
zRotation
):void
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Parameters
• zRotation: number
Returns
void
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Implementation of
Defined in
M2Node.ts:1361
Methods
addChild()
addChild(
child
):void
Adds a child to this parent node. Throws exception if the child's name is not unique with respect to other children of this parent, or if the child has already been added to another parent.
Parameters
• child: M2Node
The child node to add
Returns
void
Defined in
M2Node.ts:346
addEventListener()
addEventListener<
T
>(type
,callback
,callbackOptions
?):void
Type Parameters
• T extends M2NodeEvent
Parameters
• type: string
• callback
• callbackOptions?: CallbackOptions
Returns
void
Defined in
M2Node.ts:760
descendant()
descendant<
T
>(name
):T
Searches all descendants by name and returns first matching node.
Type Parameters
• T extends M2Node
Parameters
• name: string
Name of the descendant node to return
Returns
T
Remarks
Descendants are children and children of children, recursively. Throws exception if no descendant with the given name is found.
Defined in
M2Node.ts:507
drawChildren()
drawChildren(
canvas
):void
Draws each child node that is Drawable and is not hidden, by zPosition order (highest zPosition on top).
Parameters
• canvas: Canvas
CanvasKit canvas
Returns
void
Defined in
M2Node.ts:1153
duplicate()
abstract
duplicate(newName
?):M2Node
Duplicates a node using deep copy.
Parameters
• newName?: string
optional name of the new, duplicated node. If not provided, name will be the new uuid
Returns
Remarks
This is a deep recursive clone (node and children). The uuid property of all duplicated nodes will be newly created, because uuid must be unique.
Defined in
M2Node.ts:1213
getDrawableOptions()
protected
getDrawableOptions():DrawableOptions
Returns
Defined in
M2Node.ts:1231
getNodeOptions()
protected
getNodeOptions():M2NodeOptions
Returns
Defined in
M2Node.ts:1215
getTextOptions()
protected
getTextOptions():TextOptions
Returns
Defined in
M2Node.ts:1244
initialize()
initialize():
void
Returns
void
Defined in
M2Node.ts:194
involvedInActionAffectingAppearance()
involvedInActionAffectingAppearance():
boolean
Determines if this node or ancestor is part of an active action that affects it appearance.
Returns
boolean
true if part of active action affecting appearance
Remarks
This is used to determine if the node should be rendered with anti-aliasing or not. Anti-aliasing on some devices causes a new shader to be compiled during the action, which causes jank.
Defined in
M2Node.ts:562
involvedInSceneTransition()
involvedInSceneTransition():
boolean
Determines if the node is a transitioning Scene or a descendant of a transitioning Scene.
Returns
boolean
true if transitioning
Defined in
M2Node.ts:578
onDrag()
onDrag(
callback
,options
?):void
Executes a callback when the user continues dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Defined in
M2Node.ts:740
onDragEnd()
onDragEnd(
callback
,options
?):void
Executes a callback when the user stop dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Defined in
M2Node.ts:753
onDragStart()
onDragStart(
callback
,options
?):void
Executes a callback when the user begins dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Defined in
M2Node.ts:727
onPointerDown()
onPointerDown(
callback
,options
?):void
Executes a callback when the pointer first is down on the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
PointerDown is a pointer down (mouse click or touches begin) within the bounds of the node. It occurs under the same conditions as TapDown.
Defined in
M2Node.ts:668
onPointerLeave()
onPointerLeave(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse or touches) outside the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Defined in
M2Node.ts:714
onPointerMove()
onPointerMove(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse or touches) within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Defined in
M2Node.ts:700
onPointerUp()
onPointerUp(
callback
,options
?):void
Executes a callback when the user releases a press from the node within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
PointerUp is a pointer up (mouse click release or touches end) within the bounds of the node. It does not require that there was a previous PointerDown on the node.
Defined in
M2Node.ts:686
onTapDown()
onTapDown(
callback
,options
?):void
Executes a callback when the user presses down on the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapDown is a pointer down (mouse click or touches begin) within the bounds of the node.
Defined in
M2Node.ts:597
onTapLeave()
onTapLeave(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse, touches) beyond the bounds of the node while the pointer is down.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapLeave occurs when the pointer (mouse, touches) that has previously pressed the node moves beyond the bounds of the node before the press release.
Defined in
M2Node.ts:652
onTapUp()
onTapUp(
callback
,options
?):void
Executes a callback when the user releases a press, that has been fully within the node, from the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapUp is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, has never moved beyond the bounds of the node.
Defined in
M2Node.ts:615
onTapUpAny()
onTapUpAny(
callback
,options
?):void
Executes a callback when the user releases a press from the node within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapUpAny is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, is allowed to have been beyond the bounds of the node during the press before the release.
Defined in
M2Node.ts:634
removeAction()
removeAction(
key
):void
Remove an action from this node. If the action is running, it will be stopped.
Parameters
• key: string
key (string identifier) of the action to remove
Returns
void
Defined in
M2Node.ts:1189
removeAllActions()
removeAllActions():
void
Remove all actions from this node. If actions are running, they will be stopped.
Returns
void
Defined in
M2Node.ts:1197
removeAllChildren()
removeAllChildren():
void
Removes all children from the node.
Returns
void
Defined in
M2Node.ts:448
removeChild()
removeChild(
child
):void
Removes the specific child from this parent node. Throws exception if this parent does not contain the child.
Parameters
• child: M2Node
Returns
void
Defined in
M2Node.ts:458
removeChildren()
removeChildren(
children
):void
Removes the children from the parent. Throws error if the parent does not contain all of the children.
Parameters
• children: M2Node
[]
An array of children to remove from the parent node
Returns
void
Defined in
M2Node.ts:487
run()
run(
action
,key
?):void
Runs an action on this node.
Parameters
• action: Action
The action to run
• key?: string
key (string identifier) used to identify the action. Only needed if the action will be referred to later
Returns
void
Remarks
If the node is part of an active scene, the action runs immediately. Otherwise, the action will run when the node's scene becomes active. Calling run() multiple times on a node will add to existing actions, not replace them.
Defined in
M2Node.ts:1173
saveEvent()
protected
saveEvent(event
):void
Saves the node's event.
Parameters
event to save
Returns
void
Remarks
If the game event store is not available, the event is saved
within the node's nodeEvents
event array. It will be added to the game
event store when the node is added to the game.
Defined in
M2Node.ts:261
saveNodeNewEvent()
protected
saveNodeNewEvent():void
Save the node's construction event in the event store.
Returns
void
Defined in
M2Node.ts:207
savePropertyChangeEvent()
protected
savePropertyChangeEvent(property
,value
):void
Saves the node's property change event in the event store.
Parameters
• property: string
property name
• value: undefined
| null
| string
| number
| boolean
| object
property value
Returns
void
Defined in
M2Node.ts:234
toString()
toString():
string
Overrides toString() and returns a human-friendly description of the node.
Returns
string
Remarks
Inspiration from https://stackoverflow.com/a/35361695
Defined in
M2Node.ts:326
update()
update():
void
Returns
void
Defined in
M2Node.ts:918