Skip to main content

Node

Description:

  Class used for building a hierarchical tree structure of game objects.

Class Object: Node Class.

Inherits from: Object.

order​

Type: Field.

Description:

  The order of the node in the parent's children array.

Signature:

order: integer

angle​

Type: Field.

Description:

  The rotation angle of the node in degrees.

Signature:

angle: number

angleX​

Type: Field.

Description:

  The X-axis rotation angle of the node in degrees.

Signature:

angleX: number

angleY​

Type: Field.

Description:

  The Y-axis rotation angle of the node in degrees.

Signature:

angleY: number

scaleX​

Type: Field.

Description:

  The X-axis scale factor of the node.

Signature:

scaleX: number

scaleY​

Type: Field.

Description:

  The Y-axis scale factor of the node.

Signature:

scaleY: number

scaleZ​

Type: Field.

Description:

  The Z-axis scale factor of the node.

Signature:

scaleZ: number

x​

Type: Field.

Description:

  The X-axis position of the node.

Signature:

x: number

y​

Type: Field.

Description:

  The Y-axis position of the node.

Signature:

y: number

z​

Type: Field.

Description:

  The Z-axis position of the node.

Signature:

z: number

position​

Type: Field.

Description:

  The position of the node as a Vec2 object.

Signature:

position: Vec2

skewX​

Type: Field.

Description:

  The X-axis skew angle of the node in degrees.

Signature:

skewX: number

skewY​

Type: Field.

Description:

  The Y-axis skew angle of the node in degrees.

Signature:

skewY: number

visible​

Type: Field.

Description:

  Whether the node is visible.

Signature:

visible: boolean

anchor​

Type: Field.

Description:

  The anchor point of the node as a Vec2 object.

Signature:

anchor: Vec2

width​

Type: Field.

Description:

  The width of the node.

Signature:

width: number

height​

Type: Field.

Description:

  The height of the node.

Signature:

height: number

size​

Type: Field.

Description:

  The size of the node as a Size object.

Signature:

size: Size

tag​

Type: Field.

Description:

  The tag of the node as a string.

Signature:

tag: string

opacity​

Type: Field.

Description:

  The opacity of the node, should be 0 to 1.0.

Signature:

opacity: number

color​

Type: Field.

Description:

  The color of the node as a Color object.

Signature:

color: Color

color3​

Type: Field.

Description:

  The color of the node as a Color3 object.

Signature:

color3: Color3

passOpacity​

Type: Field.

Description:

  Whether to pass the opacity value to child nodes.

Signature:

passOpacity: boolean

passColor3​

Type: Field.

Description:

  Whether to pass the color value to child nodes.

Signature:

passColor3: boolean

transformTarget​

Type: Field.

Description:

  The target node acts as a parent node for transforming this node.

Signature:

transformTarget: Node

scheduler​

Type: Field.

Description:

  The scheduler used for scheduling update and action callbacks.

Signature:

scheduler: Scheduler

hasChildren​

Type: Readonly Field.

Description:

  Whether the node has children.

Signature:

const hasChildren: boolean

children​

Type: Readonly Field.

Description:

  The children of the node as an Array object, could be nil.

Signature:

const children: Array

parent​

Type: Readonly Field.

Description:

  The parent node of the node.

Signature:

const parent: Node

running​

Type: Readonly Field.

Description:

  Whether the node is currently running in a scene tree.

Signature:

const running: boolean

scheduled​

Type: Readonly Field.

Description:

  Whether the node is currently scheduling a function or a coroutine for updates.

Signature:

const scheduled: boolean

actionCount​

Type: Readonly Field.

Description:

  The number of actions currently running on the node.

Signature:

const actionCount: integer

data​

Type: Readonly Field.

Description:

  Additional data stored on the node as a Dictionary object.

Signature:

const data: Dictionary

touchEnabled​

Type: Field.

Description:

  Whether touch events are enabled on the node.

Signature:

touchEnabled: boolean

swallowTouches​

Type: Field.

Description:

  Whether the node should swallow touch events.

Signature:

swallowTouches: boolean

swallowMouseWheel​

Type: Field.

Description:

  Whether the node should swallow mouse wheel events.

Signature:

swallowMouseWheel: boolean

keyboardEnabled​

Type: Field.

Description:

  Whether keyboard events are enabled on the node.

Signature:

keyboardEnabled: boolean

controllerEnabled​

Type: Field.

Description:

  Whether controller events are enabled on the node.

Signature:

controllerEnabled: boolean

renderGroup​

Type: Field.

Description:

  Whether to group the node's rendering with all its recursive children.

Signature:

renderGroup: boolean

showDebug​

Type: Field.

Description:

  Whether debug graphic should be displayed for the node.

Signature:

showDebug: boolean

renderOrder​

Type: Field.

Description:

  The rendering order number for group rendering. Nodes with lower rendering orders are rendered earlier.

Signature:

renderOrder: integer

addChild​

Type: Function.

Description:

  Adds a child node to the current node.

Signature:

addChild: function(
self: Node,
child: Node,
order?: integer --[[0]],
tag?: string --[[""]]
)

Parameters:

ParameterTypeDescription
childNodeThe child node to add.
orderinteger[optional] The drawing order of the child node. Default is 0.
tagstring[optional] The tag of the child node. Default is an empty string.

addTo​

Type: Function.

Description:

  Adds the current node to a parent node.

Signature:

addTo: function(
self: Node,
parent: Node,
order?: integer --[[0]],
tag?: string --[[""]]
): Node

Parameters:

ParameterTypeDescription
parentNodeThe parent node to add the current node to.
orderinteger[optional] The drawing order of the current node. Default is 0.
tagstring[optional] The tag of the current node. Default is an empty string.

Returns:

Return TypeDescription
NodeThe current node.

removeChild​

Type: Function.

Description:

  Removes a child node from the current node.

Signature:

removeChild: function(
self: Node,
child: Node,
cleanup?: boolean --[[true]]
)

Parameters:

ParameterTypeDescription
childNodeThe child node to remove.
cleanupboolean[optional] Whether to cleanup the child node. Default is true.

removeChildByTag​

Type: Function.

Description:

  Removes a child node from the current node by tag.

Signature:

removeChildByTag: function(
self: Node,
tag: string,
cleanup?: boolean --[[true]]
)

Parameters:

ParameterTypeDescription
tagstringThe tag of the child node to remove.
cleanupboolean[optional] Whether to cleanup the child node. Default is true.

removeAllChildren​

Type: Function.

Description:

  Removes all child nodes from the current node.

Signature:

removeAllChildren: function(
self: Node,
cleanup?: boolean --[[true]]
)

Parameters:

ParameterTypeDescription
cleanupboolean[optional] Whether to cleanup the child nodes. Default is true.

removeFromParent​

Type: Function.

Description:

  Removes the current node from its parent node.

Signature:

removeFromParent: function(
self: Node,
cleanup?: boolean --[[true]]
)

Parameters:

ParameterTypeDescription
cleanupboolean[optional] Whether to cleanup the current node. Default is true.

moveToParent​

Type: Function.

Description:

  Moves the current node to a new parent node without triggering node events.

Signature:

moveToParent: function(self: Node, parent: Node)

Parameters:

ParameterTypeDescription
parentNodeThe new parent node to move the current node to.

cleanup​

Type: Function.

Description:

  Cleans up the current node.

Signature:

cleanup: function(self: Node)

getChildByTag​

Type: Function.

Description:

  Gets a child node by tag.

Signature:

getChildByTag: function(self: Node, tag: string): Node

Parameters:

ParameterTypeDescription
tagstringThe tag of the child node to get.

Returns:

Return TypeDescription
NodeThe child node, or nil if not found.

schedule​

Type: Function.

Description:

  Schedules a main function to run every frame. Call this function again to replace the previous scheduled main function or coroutine.

Signature:

schedule: function(self: Node, func: function(number): boolean)

Parameters:

ParameterTypeDescription
funcfunctionThe main function to run, returns true to stop.

schedule​

Type: Function.

Description:

  Schedules a main coroutine to run. Call this function again to replace the previous scheduled main function or coroutine.

Signature:

schedule: function(self: Node, job: Routine.Job)

Parameters:

ParameterTypeDescription
jobRoutine.JobThe main coroutine to run, return or yield true to stop.

unschedule​

Type: Function.

Description:

  Unschedules the current node's scheduled main function or coroutine.

Signature:

unschedule: function(self: Node)

once​

Type: Function.

Description:

  Schedules a function that runs in a coroutine once. Call this function to replace the previous scheduled main function or coroutine.

Signature:

once: function(self: Node, func: function())

Parameters:

ParameterTypeDescription
funcfunctionThe function to run once.

loop​

Type: Function.

Description:

  Schedules a function that runs in a coroutine in a loop. Call this function to replace the previous scheduled main function or coroutine.

Signature:

loop: function(self: Node, func: function(): boolean)

Parameters:

ParameterTypeDescription
funcfunctionThe function to run in a loop, returns true to stop.

convertToNodeSpace​

Type: Function.

Description:

  Converts a point in world space to node space.

Signature:

convertToNodeSpace: function(self: Node, worldPoint: Vec2): Vec2

Parameters:

ParameterTypeDescription
worldPointVec2The point to convert.

Returns:

Return TypeDescription
Vec2The converted point.

convertToNodeSpace​

Type: Function.

Description:

  Converts a point in world space to node space.

Signature:

convertToNodeSpace: function(self: Node, worldPoint: Vec2, z: number): Vec2, number

Parameters:

ParameterTypeDescription
worldPointVec2The point to convert.
znumberThe z-coordinate of the point.

Returns:

Return TypeDescription
Vec2The converted point.
numberThe converted z-coordinate.

convertToWorldSpace​

Type: Function.

Description:

  Converts a point from node space to world space.

Signature:

convertToWorldSpace: function(self: Node, nodePoint: Vec2): Vec2

Parameters:

ParameterTypeDescription
nodePointVec2The point in node space.

Returns:

Return TypeDescription
Vec2The converted point in world space.

convertToWorldSpace​

Type: Function.

Description:

  Converts a point from node space to world space.

Signature:

convertToWorldSpace: function(self: Node, nodePoint: Vec2, z: number): Vec2, number

Parameters:

ParameterTypeDescription
nodePointVec2The point in node space.
znumberThe z coordinate in node space.

Returns:

Return TypeDescription
Vec2The converted point in world space.
numberThe converted z coordinate in world space .

convertToWindowSpace​

Type: Function.

Description:

  Converts a point from node space to window space.

Signature:

convertToWindowSpace: function(self: Node, nodePoint: Vec2, callback: function(Vec2))

Parameters:

ParameterTypeDescription
nodePointVec2The point in node space.
callbackfunctionThe callback function to receive the converted point in window space.

eachChild​

Type: Function.

Description:

  Calls the given function for each child node of this node. The child nodes can not be added or removed during the iteration.

Signature:

eachChild: function(self: Node, func: function(Node): boolean): boolean

Parameters:

ParameterTypeDescription
funcfunctionThe function to call for each child node. The function should return a boolean value indicating whether to continue the iteration. Return true to stop iteration.

Returns:

Return TypeDescription
booleanFalse if all children have been visited, true if the iteration was interrupted by the function.

traverse​

Type: Function.

Description:

  Traverses the node hierarchy starting from this node and calls the given function for each visited node. The nodes without TraverseEnabled flag are not visited. The nodes can not be added or removed during the iteration.

Signature:

traverse: function(self: Node, func: function(Node): boolean): boolean

Parameters:

ParameterTypeDescription
funcfunctionThe function to call for each visited node. The function should return a boolean value indicating whether to continue the traversal. Return true to stop iteration.

Returns:

Return TypeDescription
booleanFalse if all nodes have been visited, true if the traversal was interrupted by the function.

traverseAll​

Type: Function.

Description:

  Traverses the entire node hierarchy starting from this node and calls the given function for each visited node. The nodes without TraverseEnabled flag are also visited. The nodes can not be added or removed during the iteration.

Signature:

traverseAll: function(self: Node, func: function(Node): boolean): boolean

Parameters:

ParameterTypeDescription
funcfunctionThe function to call for each visited node. The function should return a boolean value indicating whether to continue the traversal.

Returns:

Return TypeDescription
booleanTrue if all nodes have been visited, false if the traversal was interrupted by the function.

runAction​

Type: Function.

Description:

  Runs the given action on this node.

Signature:

runAction: function(self: Node, action: Action, loop?: boolean): number

Parameters:

ParameterTypeDescription
actionActionThe action to run.
loopboolean[optional] Whether to loop the action. Default is false.

Returns:

Return TypeDescription
numberThe duration of the newly running action in seconds.

runAction​

Type: Function.

Description:

  Runs an action defined by the given action definition on this node.

Signature:

runAction: function(self: Node, actionDef: ActionDef, loop?: boolean): number

Parameters:

ParameterTypeDescription
actionDefActionDefThe action definition to run.
loopboolean[optional] Whether to loop the action. Default is false.

Returns:

Return TypeDescription
numberThe duration of the newly running action in seconds.

stopAllActions​

Type: Function.

Description:

  Stops all actions running on this node.

Signature:

stopAllActions: function(self: Node)

perform​

Type: Function.

Description:

  Runs the given action immediately without adding it to the action queue.

Signature:

perform: function(self: Node, action: Action, loop?: boolean): number

Parameters:

ParameterTypeDescription
actionActionThe action to run.
loopboolean[optional] Whether to loop the action. Default is false.

Returns:

Return TypeDescription
numberThe duration of the newly running action.

perform​

Type: Function.

Description:

  Runs an action defined by the given action definition right after clear all the previous running actions.

Signature:

perform: function(self: Node, actionDef: ActionDef, loop?: boolean): number

Parameters:

ParameterTypeDescription
actionDefActionDefThe action definition to run.
loopboolean[optional] Whether to loop the action. Default is false.

Returns:

Return TypeDescription
numberThe duration of the newly running action.

stopAction​

Type: Function.

Description:

  Stops the given action running on this node.

Signature:

stopAction: function(self: Node, action: Action)

Parameters:

ParameterTypeDescription
actionActionThe action to stop.

alignItemsVertically​

Type: Function.

Description:

  Vertically aligns all child nodes of this node.

Signature:

alignItemsVertically: function(
self: Node,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
paddingnumber[optional] The padding between child nodes. Defaults to 10.

Returns:

Return TypeDescription
SizeThe size of the aligned child nodes.

alignItemsVertically​

Type: Function.

Description:

  Vertically aligns all child nodes within the node using the given size and padding.

Signature:

alignItemsVertically: function(
self: Node,
size: Size,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
sizeSizeThe size to use for alignment.
paddingnumber[optional] The amount of padding to use between each child node (default is 10).

Returns:

Return TypeDescription
SizeThe size of the node after alignment.

alignItemsHorizontally​

Type: Function.

Description:

  Horizontally aligns all child nodes within the node using the given padding.

Signature:

alignItemsHorizontally: function(
self: Node,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
paddingnumber[optional] The amount of padding to use between each child node (default is 10).

Returns:

Return TypeDescription
SizeThe size of the node after alignment.

alignItemsHorizontally​

Type: Function.

Description:

  Horizontally aligns all child nodes within the node using the given size and padding.

Signature:

alignItemsHorizontally: function(
self: Node,
size: Size,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
sizeSizeThe size to hint for alignment.
paddingnumber[optional] The amount of padding to use between each child node (default is 10).

Returns:

Return TypeDescription
SizeThe size of the node after alignment.

alignItems​

Type: Function.

Description:

  Aligns all child nodes within the node using the given size and padding.

Signature:

alignItems: function(
self: Node,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
paddingnumber[optional] The amount of padding to use between each child node (default is 10).

Returns:

Return TypeDescription
SizeThe size of the node after alignment.

alignItems​

Type: Function.

Description:

  Aligns all child nodes within the node using the given size and padding.

Signature:

alignItems: function(
self: Node,
size: Size,
padding?: number --[[10]]
): Size

Parameters:

ParameterTypeDescription
sizeSizeThe size to use for alignment.
paddingnumber[optional] The amount of padding to use between each child node (default is 10).

Returns:

Return TypeDescription
SizeThe size of the node after alignment.

moveAndCullItems​

Type: Function.

Description:

  Moves and changes child nodes' visibility based on their position in parent's area.

Signature:

moveAndCullItems: function(self: Node, delta: Vec2)

Parameters:

ParameterTypeDescription
deltaVec2The distance to move its children.

attachIME​

Type: Function.

Description:

  Attaches the input method editor (IME) to the node. Makes node recieving "AttachIME", "DetachIME", "TextInput", "TextEditing" events.

Signature:

attachIME: function(self: Node)

detachIME​

Type: Function.

Description:

  Detaches the input method editor (IME) from the node.

Signature:

detachIME: function(self: Node)

gslot​

Type: Function.

Description:

  Gets the global event listener associated with the given event name in this node.

Signature:

gslot: function(self: Node, eventName: string): {GSlot}

Parameters:

ParameterTypeDescription
eventNamestringThe name of the global event.

Returns:

Return TypeDescription
{GSlot}All the global event listeners associated with the event.

gslot​

Type: Function.

Description:

  Associates the given event handler function with a global event.

Signature:

gslot: function(self: Node, eventName: string, handler: function()): GSlot

Parameters:

ParameterTypeDescription
eventNamestringThe name of the global event.
handlerfunctionThe handler function to associate with the event.

Returns:

Return TypeDescription
GSlotThe global event listener associated with the event in this node.

slot​

Type: Function.

Description:

  Gets the node event listener associated with the given node event name.

Signature:

slot: function(self: Node, eventName: string): Slot

Parameters:

ParameterTypeDescription
eventNamestringThe name of the node event.

Returns:

Return TypeDescription
SlotThe node event listener associated with the node event.

slot​

Type: Function.

Description:

  Associates the given handler function with the node event.

Signature:

slot: function(self: Node, eventName: string, handler: function())

Parameters:

ParameterTypeDescription
eventNamestringThe name of the node event.
handlerfunctionThe handler function to associate with the node event.

emit​

Type: Function.

Description:

  Emits a node event with a given event name and arguments.

Signature:

emit: function(self: Node, eventName: string, ...: any)

Parameters:

ParameterTypeDescription
eventNamestringThe name of the node event.
......anyThe arguments to pass to the node event handler functions.

grab​

Type: Function.

Description:

  Creates or removes a texture grabber for the specified node.

Signature:

grab: function(
self: Node,
enabled?: boolean --[[true]]
): Grabber

Parameters:

ParameterTypeDescription
enabledboolean[optional] Whether to enable or disable the grabber. Default is true.

Returns:

Return TypeDescription
GrabberA Grabber object with gridX == 1 and gridY == 1 when enabled.

grab​

Type: Function.

Description:

  Creates a texture grabber for the specified node with a specified grid size.

Signature:

grab: function(self: Node, gridX: number, gridY: number): Grabber

Parameters:

ParameterTypeDescription
gridXnumberThe number of horizontal grid cells to divide the grabber into.
gridYnumberThe number of vertical grid cells to divide the grabber into.

Returns:

Return TypeDescription
GrabberA Grabber object.

onUpdate​

Type: Function.

Description:

  Schedules a function to run every frame. Call this function again to schedule multiple functions.

Signature:

onUpdate: function(self: Node, func: function(number): boolean)

Parameters:

ParameterTypeDescription
funcfunctionThe function to run every frame, returns true to stop.

clearUpdate​

Type: Function.

Description:

  Clears all functions scheduled with onUpdate.

Signature:

clearUpdate: function(self: Node)

onUpdate​

Type: Function.

Description:

  Schedules a coroutine to run every frame. Call this function again to schedule multiple coroutines.

Signature:

onUpdate: function(self: Node, job: Routine.Job)

Parameters:

ParameterTypeDescription
jobRoutine.JobThe coroutine to run every frame.

onRender​

Type: Function.

Description:

  Registers a callback for event triggered when the node is entering the rendering phase. The callback is called every frame, and ensures that its call order is consistent with the rendering order of the scene tree, such as rendering child nodes after their parent nodes. Recommended for calling vector drawing functions.

Signature:

onRender: function(self: Node, func: function(number): boolean)

Parameters:

ParameterTypeDescription
funcfunctionThe function to call when the node is entering the rendering phase, returns true to stop.

clearRender​

Type: Function.

Description:

  Clears all functions registered with onRender.

Signature:

clearRender: function(self: Node)

onActionEnd​

Type: Function.

Description:

  Registers a callback for event triggered when an action is finished.

Signature:

onActionEnd: function(self: Node, callback: function(action: Action, target: Node))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTapFilter​

Type: Function.

Description:

  Registers a callback for event triggered before the TapBegan slot and can be used to filter out certain taps. This function also sets node.touchEnabled = true.

Signature:

onTapFilter: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTapBegan​

Type: Function.

Description:

  Registers callback for event triggered when a tap is detected. This function also sets node.touchEnabled = true.

Signature:

onTapBegan: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTapEnded​

Type: Function.

Description:

  Registers callback for event triggered when a tap ends. This function also sets node.touchEnabled = true.

Signature:

onTapEnded: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTapped​

Type: Function.

Description:

  Registers callback for event triggered when a tap is detected and has ended. This function also sets node.touchEnabled = true.

Signature:

onTapped: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTapMoved​

Type: Function.

Description:

  Registers callback for event triggered when a tap moves. This function also sets node.touchEnabled = true.

Signature:

onTapMoved: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onMouseMove​

Type: Function.

Description:

  Registers a callback for mouse movement, even when no mouse button is pressed. This callback only responds to mouse movement. To handle both touch and mouse input, use onTapBegan(), onTapMoved(), and onTapEnded() instead. This function also sets node.touchEnabled = true.

Signature:

onMouseMove: function(self: Node, callback: function(touch: Touch))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onMouseWheel​

Type: Function.

Description:

  Registers callback for event triggered when the mouse wheel is scrolled. This function also sets node.touchEnabled = true.

Signature:

onMouseWheel: function(self: Node, callback: function(delta: Vec2))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onGesture​

Type: Function.

Description:

  Registers callback for event triggered when a gesture is recognized. This function also sets node.touchEnabled = true.

Signature:

onGesture: function(self: Node, callback: function(center: Vec2, numFingers: integer, deltaDist: number, deltaAngle: number))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onEnter​

Type: Function.

Description:

  Registers callback for event triggered when a node is added to the scene graph.

Signature:

onEnter: function(self: Node, callback: function())

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onExit​

Type: Function.

Description:

  Registers callback for event triggered when a node is removed from the scene graph.

Signature:

onExit: function(self: Node, callback: function())

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onCleanup​

Type: Function.

Description:

  Registers callback for event triggered when a node is cleaned up.

Signature:

onCleanup: function(self: Node, callback: function())

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onKeyDown​

Type: Function.

Description:

  Registers callback for event triggered when a key is pressed down. This function also sets node.keyboardEnabled = true.

Signature:

onKeyDown: function(self: Node, callback: function(keyName: Keyboard.KeyName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onKeyUp​

Type: Function.

Description:

  Registers callback for event triggered when a key is released. This function also sets node.keyboardEnabled = true.

Signature:

onKeyUp: function(self: Node, callback: function(keyName: Keyboard.KeyName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onKeyPressed​

Type: Function.

Description:

  Registers callback for event triggered when a key is pressed. This function also sets node.keyboardEnabled = true.

Signature:

onKeyPressed: function(self: Node, callback: function(keyName: Keyboard.KeyName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onAttachIME​

Type: Function.

Description:

  Registers callback for event triggered when the input method editor (IME) is attached.

Signature:

onAttachIME: function(self: Node, callback: function())

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onDetachIME​

Type: Function.

Description:

  Registers callback for event triggered when the input method editor (IME) is detached.

Signature:

onDetachIME: function(self: Node, callback: function())

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTextInput​

Type: Function.

Description:

  Registers callback for event triggered when text input is received.

Signature:

onTextInput: function(self: Node, callback: function(text: string))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onTextEditing​

Type: Function.

Description:

  Registers callback for event triggered when text is being edited.

Signature:

onTextEditing: function(self: Node, callback: function(text: string, startPos: integer, length: integer))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onButtonDown​

Type: Function.

Description:

  Registers callback for event triggered when a button is pressed down on a controller. This function also sets node.controllerEnabled = true.

Signature:

onButtonDown: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onButtonUp​

Type: Function.

Description:

  Registers callback for event triggered when a button is released on a controller. This function also sets node.controllerEnabled = true.

Signature:

onButtonUp: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onButtonPressed​

Type: Function.

Description:

  Registers callback for event triggered when a button is pressed on a controller. This function also sets node.controllerEnabled = true.

Signature:

onButtonPressed: function(self: Node, callback: function(controllerId: integer, buttonName: Controller.ButtonName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

onAxis​

Type: Function.

Description:

  Registers callback for event triggered when an axis is moved on a controller. This function also sets node.controllerEnabled = true.

Signature:

onAxis: function(self: Node, callback: function(controllerId: integer, axisName: Controller.AxisName, value: number))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

Node.AppEventType​

Type: Enumeration.

Description:

  Enumeration of application events.

Signature:

enum AppEventType

-- The application is about to quit.
"Quit"

-- The application gets a low memory warning.
"LowMemory"

-- The application is about to enter the background.
"WillEnterBackground"

-- The application has entered the background.
"DidEnterBackground"

-- The application is about to enter the foreground.
"WillEnterForeground"

-- The application has entered the foreground.
"DidEnterForeground"
end

onAppEvent​

Type: Function.

Description:

  Registers callback for event triggered when an application event occurs.

Signature:

onAppEvent: function(self: Node, callback: function(eventType: AppEventType))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

Node.AppSettingName​

Type: Enumeration.

Description:

  Enumeration of application settings.

Signature:

enum AppSettingName

-- The application's locale.
"Locale"

-- The application's theme color.
"Theme"

-- The application window's fullscreen state.
"FullScreen"

-- The application window's position.
"Position"

-- The application window's size.
"Size"
end

onAppChange​

Type: Function.

Description:

  Registers callback for event triggered when an application setting changes.

Signature:

onAppChange: function(self: Node, callback: function(settingName: AppSettingName))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.

Node.AppWSEvent​

Type: Enumeration.

Description:

  Enumeration of application WebSocket events.

Signature:

enum AppWSEvent

-- A WebSocket connection is opened.
"Open"

-- A WebSocket connection is closed.
"Close"

-- The WebSocket receives a message.
"Send"

-- The WebSocket broadcasts a message.
"Receive"
end

onAppWS​

Type: Function.

Description:

  Registers callback for event triggered when an application WebSocket event occurs.

Signature:

onAppWS: function(self: Node, callback: function(event: Dictionary))

Parameters:

ParameterTypeDescription
callbackfunctionThe callback function to register.