Class: abstract
Composite
Extends
Implements
Constructors
new Composite()
new Composite(
options
):Composite
Base Drawable object for creating custom nodes ("composites") composed of primitive nodes.
Parameters
• options: CompositeOptions
= {}
Returns
Overrides
Defined in
Composite.ts:23
Properties
_alpha
_alpha:
number
=1.0
Inherited from
Defined in
M2Node.ts:98
_draggable
protected
_draggable:boolean
=false
Inherited from
Defined in
M2Node.ts:101
_game?
optional
_game:Game
Inherited from
Defined in
M2Node.ts:105
_hidden
protected
_hidden:boolean
=false
Inherited from
Defined in
M2Node.ts:102
_isUserInteractionEnabled
protected
_isUserInteractionEnabled:boolean
=false
Inherited from
M2Node
._isUserInteractionEnabled
Defined in
M2Node.ts:100
_position
_position:
Point
Inherited from
Defined in
M2Node.ts:96
_scale
_scale:
number
=1.0
Inherited from
Defined in
M2Node.ts:97
_size
protected
_size:Size
Inherited from
Defined in
M2Node.ts:109
_zRotation
_zRotation:
number
=0
Inherited from
Defined in
M2Node.ts:99
absoluteAlpha
absoluteAlpha:
number
=1.0
Inherited from
Defined in
M2Node.ts:111
absoluteAlphaChange
absoluteAlphaChange:
number
=0
Inherited from
Defined in
M2Node.ts:112
absolutePosition
absolutePosition:
Point
Inherited from
Defined in
M2Node.ts:108
absoluteScale
absoluteScale:
number
=1.0
Inherited from
Defined in
M2Node.ts:110
actions
actions:
Action
[]
Inherited from
Defined in
M2Node.ts:113
children
children:
M2Node
[]
Inherited from
Defined in
M2Node.ts:107
compositeType
compositeType:
string
="<compositeType>"
Defined in
Composite.ts:12
constructionIso8601TimeStamp
constructionIso8601TimeStamp:
string
Inherited from
M2Node
.constructionIso8601TimeStamp
Defined in
M2Node.ts:92
constructionSequence
constructionSequence:
number
Inherited from
Defined in
M2Node.ts:93
constructionTimeStamp
constructionTimeStamp:
number
Inherited from
Defined in
M2Node.ts:91
dragging
dragging:
boolean
=false
Is the node in a dragging state?
Inherited from
Defined in
M2Node.ts:141
draggingLastPointerOffset
draggingLastPointerOffset:
Point
What was the previous pointer offset when the node was in a dragging state?
Inherited from
M2Node
.draggingLastPointerOffset
Defined in
M2Node.ts:139
eventListeners
eventListeners:
M2NodeEventListener
<M2NodeEvent
>[]
Inherited from
Defined in
M2Node.ts:115
isDrawable
isDrawable:
boolean
=true
Overrides
Defined in
Composite.ts:13
isShape
isShape:
boolean
=false
Inherited from
Defined in
M2Node.ts:87
isText
isText:
boolean
=false
Inherited from
Defined in
M2Node.ts:88
layout
layout:
Layout
={}
FOR INTERNAL USE ONLY
Inherited from
Defined in
M2Node.ts:103
loopMessages
loopMessages:
Set
<string
>
Inherited from
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
Inherited from
Defined in
M2Node.ts:95
needsInitialization
needsInitialization:
boolean
=true
Inherited from
Defined in
M2Node.ts:117
nodeEvents
Inherited from
Defined in
M2Node.ts:122
options
options:
M2NodeOptions
Inherited from
Defined in
M2Node.ts:90
parent?
optional
parent:M2Node
Inherited from
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?
Inherited from
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.
Inherited from
M2Node
.pressedAndWithinHitArea
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.
Inherited from
M2Node
.pressedInitialPointerOffset
Defined in
M2Node.ts:136
queuedAction?
optional
queuedAction:Action
Inherited from
Defined in
M2Node.ts:114
type
readonly
type:Composite
=M2NodeType.Composite
Overrides
Defined in
Composite.ts:11
userData
userData:
any
={}
Inherited from
Defined in
M2Node.ts:120
uuid
readonly
uuid:string
Internal
Unique identifier (UUID). Will be generated automatically. For m2c2kit library use only
Inherited from
Defined in
M2Node.ts:116
withinHitArea
withinHitArea:
boolean
=false
Inherited from
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.
Inherited from
Defined in
M2Node.ts:1383
ancestors
Get Signature
get ancestors():
M2Node
[]
Returns all ancestor nodes, not including the node itself.
Returns
M2Node
[]
Inherited from
Defined in
M2Node.ts:537
anchorPoint
Get Signature
get anchorPoint():
Point
Returns
Set Signature
set anchorPoint(
anchorPoint
):void
Parameters
• anchorPoint: Point
Returns
void
Implementation of
Defined in
Composite.ts:34
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
Inherited from
Defined in
M2Node.ts:1277
completeNodeOptions
Get Signature
get
protected
completeNodeOptions():M2NodeOptions
Returns
Inherited from
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
[]
Inherited from
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?
Inherited from
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
Inherited from
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
Inherited from
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
Inherited from
M2Node
.isUserInteractionEnabled
Defined in
M2Node.ts:1394
parentSceneAsNode
Get Signature
get parentSceneAsNode():
M2Node
Returns
Inherited from
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)
Inherited from
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
Inherited from
Defined in
M2Node.ts:1372
size
Get Signature
get size():
Size
Returns
Set Signature
set size(
size
):void
Parameters
• size: Size
Returns
void
Inherited from
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.
Inherited from
Defined in
M2Node.ts:1430
zPosition
Get Signature
get zPosition():
number
Returns
number
Set Signature
set zPosition(
zPosition
):void
Parameters
• zPosition: number
Returns
void
Implementation of
Defined in
Composite.ts:68
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.
Inherited from
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
Inherited from
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
Inherited from
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.
Inherited from
Defined in
M2Node.ts:507
dispose()
dispose():
void
Internal
Frees up resources allocated by the Drawable M2Node.
For m2c2kit library use only
Returns
void
Remarks
This will be done automatically by the m2c2kit library; the end-user must not call this.
Implementation of
Defined in
Composite.ts:80
draw()
draw(
canvas
):void
Parameters
• canvas: Canvas
Returns
void
Implementation of
Defined in
Composite.ts:86
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
Inherited from
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.
Inherited from
Defined in
M2Node.ts:1213
getDrawableOptions()
protected
getDrawableOptions():DrawableOptions
Returns
Inherited from
Defined in
M2Node.ts:1231
getNodeOptions()
protected
getNodeOptions():M2NodeOptions
Returns
Inherited from
Defined in
M2Node.ts:1215
getTextOptions()
protected
getTextOptions():TextOptions
Returns
Inherited from
Defined in
M2Node.ts:1244
handleCompositeEvent()
handleCompositeEvent(
event
):void
Event handler for custom events a Composite
may generate.
Parameters
• event: CompositeEvent
event to handle
Returns
void
Remarks
If the Composite
generates custom events, this method is
necessary for the Composite
to work in replay mode.
Defined in
Composite.ts:101
initialize()
initialize():
void
Returns
void
Overrides
Defined in
Composite.ts:29
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.
Inherited from
M2Node
.involvedInActionAffectingAppearance
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
Inherited from
M2Node
.involvedInSceneTransition
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
Inherited from
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
Inherited from
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
Inherited from
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.
Inherited from
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
Inherited from
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
Inherited from
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.
Inherited from
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.
Inherited from
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.
Inherited from
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.
Inherited from
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.
Inherited from
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
Inherited from
Defined in
M2Node.ts:1189
removeAllActions()
removeAllActions():
void
Remove all actions from this node. If actions are running, they will be stopped.
Returns
void
Inherited from
Defined in
M2Node.ts:1197
removeAllChildren()
removeAllChildren():
void
Removes all children from the node.
Returns
void
Inherited from
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
Inherited from
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
Inherited from
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.
Inherited from
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.
Inherited from
Defined in
M2Node.ts:261
saveNodeNewEvent()
protected
saveNodeNewEvent():void
Save the node's construction event in the event store.
Returns
void
Inherited from
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
Inherited from
M2Node
.savePropertyChangeEvent
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
Inherited from
Defined in
M2Node.ts:326
update()
update():
void
Returns
void
Overrides
Defined in
Composite.ts:82
warmup()
abstract
warmup(canvas
):void
Parameters
• canvas: Canvas
Returns
void
Implementation of
Defined in
Composite.ts:90