Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

Node

Module: cc

Class of all entities in Cocos Creator scenes.
Node also inherits from Event Target, it permits Node to dispatch events. For events supported by Node, please refer to Node.EventType

Properties

active Boolean

The local active state of this node.
Note that a Node may be inactive because a parent is not active, even if this returns true.
Use activeInHierarchy if you want to check if the Node is actually treated as active in the scene.

examples:

node.active = false;

activeInHierarchy Boolean

Indicates whether this node is active in the scene.

examples:

cc.log("activeInHierarchy: " + node.activeInHierarchy);

_components Component[] private readOnly

_prefab PrefabInfo private

The PrefabInfo object

_persistNode Boolean private

If true, the node is an persist node which won't be destroyed during scene transition. If false, the node will be destroyed automatically when loading a new scene. Default is false.

groupIndex Integer

Group index of node.
Which Group this node belongs to will resolve that this node's collision components can collide with which other collision componentns.

group String

Group of node.
Which Group this node belongs to will resolve that this node's collision components can collide with which other collision componentns.

name String

Name of node.

examples:

node.name = "New Node";
cc.log("Node Name: " + node.name);

parent Node

The parent of the node.

examples:

node.parent = newNode;

uuid String readOnly

The uuid for editor, will be stripped before building project.

examples:

cc.log("Node Uuid: " + node.uuid);

skewX Number

Skew x

examples:

node.skewX = 0;
cc.log("Node SkewX: " + node.skewX);

skewY Number

Skew y

examples:

node.skewY = 0;
cc.log("Node SkewY: " + node.skewY);

zIndex Number

Z order in depth which stands for the drawing order.

examples:

node.zIndex = 1;
cc.log("Node zIndex: " + node.zIndex);

rotation Number

Rotation of node.

examples:

node.rotation = 90;
cc.log("Node Rotation: " + node.rotation);

rotationX Number

Rotation on x axis.

examples:

node.rotationX = 45;
cc.log("Node Rotation X: " + node.rotationX);

rotationY Number

Rotation on y axis.

examples:

node.rotationY = 45;
cc.log("Node Rotation Y: " + node.rotationY);

scaleX Number

Scale on x axis.

examples:

node.scaleX = 0.5;
cc.log("Node Scale X: " + node.scaleX);

scaleY Number

Scale on y axis.

examples:

node.scaleY = 0.5;
cc.log("Node Scale Y: " + node.scaleY);

x Number

x axis position of node.

examples:

node.x = 100;
cc.log("Node Position X: " + node.x);

y Number

y axis position of node.

examples:

node.y = 100;
cc.log("Node Position Y: " + node.y);

children Node[] readOnly

All children nodes.

examples:

var children = node.children;
for (var i = 0; i < children.lenght; ++i) {
    cc.log("Node: " + children[i]);
}

childrenCount Number readOnly

All children nodes.

examples:

var count = node.childrenCount;
cc.log("Node Children Count: " + count);

anchorX Number

Anchor point's position on x axis.

examples:

node.anchorX = 0;

anchorY Number

Anchor point's position on y axis.

examples:

node.anchorY = 0;

width Number

Width of node.

examples:

node.width = 100;

height Number

Height of node.

examples:

node.height = 100;

_ignoreAnchor Boolean private

Indicate whether ignore the anchor point property for positioning.

tag Number

Tag of node.

examples:

node.tag = 1001;

opacity Number

Opacity of node, default value is 255.

examples:

node.opacity = 255;

cascadeOpacity Boolean

Indicate whether node's opacity value affect its child nodes, default value is false.

examples:

cc.log("CascadeOpacity: " + node.cascadeOpacity);

color Color

Color of node, default value is white: (255, 255, 255).

examples:

node.color = new cc.Color(255, 255, 255);

_sgNode _ccsg.Node private

Current scene graph node for this node.

_sizeProvider _ccsg.Node private

Current active size provider for this node. Size provider can equals to this._sgNode.

__eventTargets EventTarget[] private

Register all related EventTargets, all event callbacks will be removed in _onPreDestroy

scale Number

The local scale relative to the parent.

examples:

node.scale = 1;

_name String private

_objFlags Number private

isValid Boolean readOnly

Indicates whether the object is not yet destroyed.

examples:

cc.log(obj.isValid);

There are no properties that match your current filter settings. You can change your filter settings in the index section on this page. index

Methods

getComponent
(
  • typeOrClassName
)
Component

Returns the component of supplied type if the node has one attached, null if it doesn't.
You can also get component in the node by passing in the name of the script.

name type description
typeOrClassName Function | String

returns:

type: Component

examples:

// get sprite component.
var sprite = node.getComponent(cc.Sprite);
// get custom test calss.
var test = node.getComponent("Test");

getComponents
(
  • typeOrClassName
)
Component[]

Returns all components of supplied type in the node.

name type description
typeOrClassName Function | String

returns:

type: Component[]

examples:

var sprites = node.getComponents(cc.Sprite);
var tests = node.getComponents("Test");

getComponentInChildren
(
  • typeOrClassName
)
Component

Returns the component of supplied type in any of its children using depth first search.

name type description
typeOrClassName Function | String

returns:

type: Component

examples:

var sprite = node.getComponentInChildren(cc.Sprite);
var Test = node.getComponentInChildren("Test");

getComponentsInChildren
(
  • typeOrClassName
)
Component[]

Returns all components of supplied type in self or any of its children.

name type description
typeOrClassName Function | String

returns:

type: Component[]

examples:

var sprites = node.getComponentsInChildren(cc.Sprite);
var tests = node.getComponentsInChildren("Test");

addComponent
(
  • typeOrClassName
)
Component

Adds a component class to the node. You can also add component to node by passing in the name of the script.

name type description
typeOrClassName Function | String

The constructor or the class name of the component to add

returns:

type: Component

The newly added component

examples:

var sprite = node.addComponent(cc.Sprite);
var test = node.addComponent("Test");

_addComponentAt
(
  • comp
  • index
)
private

This api should only used by undo system

name type description
comp Component
index Number

removeComponent
(
  • component
)
deprecated

deprecated: please destroy the component to remove it.

Removes a component identified by the given name or removes the component object given. You can also use component.destroy() if you already have the reference.

name type description
component String | Function | Component

The need remove component.

examples:

node.removeComponent(cc.Sprite);
var Test = require("Test");
node.removeComponent(Test);

_getDependComponent
(
  • depended
)
Component private

name type description
depended Component

returns:

type: Component

on
(
  • type
  • callback
  • [target ]
  • useCapture
)
Function

Register a callback of a specific event type on Node.
Use this method to register touch or mouse event permit propagation based on scene graph, you can propagate the event to the parents or swallow it by calling stopPropagation on the event.
It's the recommended way to register touch/mouse event for Node, please do not use cc.eventManager directly for Node.

name type description
type String

A string representing the event type to listen for.

callback Function

The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

target optional Object

The target to invoke the callback, can be null

useCapture Boolean

When set to true, the capture argument prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false, callback will NOT be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked when event's eventPhase attribute value is AT_TARGET.

returns:

type: Function

Just returns the incoming callback so you can save the anonymous function easier.

examples:

// add Node Touch Event
node.on(cc.Node.EventType.TOUCH_START, callback, this.node);
node.on(cc.Node.EventType.TOUCH_MOVE, callback, this.node);
node.on(cc.Node.EventType.TOUCH_END, callback, this.node);
node.on(cc.Node.EventType.TOUCH_CANCEL, callback, this.node);

off
(
  • type
  • callback
  • [target ]
  • useCapture
)

Removes the callback previously registered with the same type, callback, target and or useCapture. This method is merely an alias to removeEventListener.

name type description
type String

A string representing the event type being removed.

callback Function

The callback to remove.

target optional Object

The target to invoke the callback, if it's not given, only callback without target will be removed

useCapture Boolean

Specifies whether the callback being removed was registered as a capturing callback or not. If not specified, useCapture defaults to false. If a callback was registered twice, one with capture and one without, each must be removed separately. Removal of a capturing callback does not affect a non-capturing version of the same listener, and vice versa.

examples:

// remove Node TOUCH_START Event.
node.on(cc.Node.EventType.TOUCH_START, callback, this.node);
node.off(cc.Node.EventType.TOUCH_START, callback, this.node);

targetOff
(
  • target
)

Removes all callbacks previously registered with the same target.

name type description
target Object

The target to be searched for all related callbacks

examples:

node.targetOff(target);

runAction
(
  • action
)
Action

Executes an action, and returns the action that is executed.
The node becomes the action's target. Refer to cc.Action's getTarget()
Calling runAction while the node is not active won't have any effect.

name type description
action Action

returns:

type: Action

An Action pointer

examples:

var action = cc.scaleTo(0.2, 1, 0.6);
node.runAction(action);

stopAllActions ( )

Stops and removes all actions from the running action list .

examples:

node.stopAllActions();

stopAction
(
  • action
)

Stops and removes an action from the running action list.

name type description
action Action

An action object to be removed.

examples:

var action = cc.scaleTo(0.2, 1, 0.6);
node.stopAction(action);

stopActionByTag
(
  • tag
)

Removes an action from the running action list by its tag.

name type description
tag Number

A tag that indicates the action to be removed.

examples:

node.stopAction(1);

getActionByTag
(
  • tag
)
Action

Returns an action from the running action list by its tag.

name type description
tag Number

returns:

type: Action

The action object with the given tag.

examples:

var action = node.getActionByTag(1);

getNumberOfRunningActions ( ) Number

Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays).
Composable actions are counted as 1 action. Example:
If you are running 1 Sequence of 7 actions, it will return 1.
If you are running 7 Sequences of 2 actions, it will return 7.

returns:

type: Number

The number of actions that are running plus the ones that are schedule to run

examples:

var count = node.getNumberOfRunningActions();
cc.log("Running Action Count: " + count);

attr
(
  • attrs
)

Properties configuration function
All properties in attrs will be set to the node,
when the setter of the node is available,
the property will be set via setter function.

name type description
attrs Object

Properties to be set to node

examples:

var attrs = { key: 0, num: 100 };
node.attr(attrs);

getScale ( ) Number

Returns the scale factor of the node. Assertion will fail when _scaleX != _scaleY.

returns:

type: Number

The scale factor

examples:

cc.log("Node Scale: " + node.getScale());

setScale
(
  • scaleX
  • [scaleY =scale]
)

Sets the scale factor of the node. 1.0 is the default scale factor. This function can modify the X and Y scale at the same time.

name type description
scaleX Number | Vec2

scaleX or scale

scaleY optional Number scale

examples:

node.setScale(cc.v2(1, 1));
node.setScale(1, 1);

getPosition ( ) Vec2

Returns a copy of the position (x,y) of the node in cocos2d coordinates. (0,0) is the left-bottom corner.

returns:

type: Vec2

The position (x,y) of the node in OpenGL coordinates

examples:

cc.log("Node Position: " + node.getPosition());

setPosition
(
  • newPosOrxValue
  • [yValue ]
)

Changes the position (x,y) of the node in cocos2d coordinates.
The original point (0,0) is at the left-bottom corner of screen.
Usually we use cc.v2(x,y) to compose CCVec2 object.
and Passing two numbers (x,y) is more efficient than passing CCPoint object.

name type description
newPosOrxValue Vec2 | Number

The position (x,y) of the node in coordinates or the X coordinate for position

yValue optional Number

Y coordinate for position

examples:

node.setPosition(cc.v2(0, 0));
node.setPosition(0, 0);

getAnchorPoint ( ) Vec2

Returns a copy of the anchor point.
Anchor point is the point around which all transformations and positioning manipulations take place.
It's like a pin in the node where it is "attached" to its parent.
The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner.
But you can use values higher than (1,1) and lower than (0,0) too.
The default anchor point is (0.5,0.5), so it starts at the center of the node.

returns:

type: Vec2

The anchor point of node.

examples:

cc.log("Node AnchorPoint: " + node.getAnchorPoint());

setAnchorPoint
(
  • point
  • [y ]
)

Sets the anchor point in percent.
anchor point is the point around which all transformations and positioning manipulations take place.
It's like a pin in the node where it is "attached" to its parent.
The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner.
But you can use values higher than (1,1) and lower than (0,0) too.
The default anchor point is (0.5,0.5), so it starts at the center of the node.

name type description
point Vec2 | Number

The anchor point of node or The x axis anchor of node.

y optional Number

The y axis anchor of node.

examples:

node.setAnchorPoint(cc.v2(1, 1));
node.setAnchorPoint(1, 1);

getAnchorPointInPoints ( ) Vec2

Returns a copy of the anchor point in absolute pixels.
you can only read it. If you wish to modify it, use setAnchorPoint.

returns:

type: Vec2

The anchor point in absolute pixels.

examples:

cc.log("AnchorPointInPoints: " + node.getAnchorPointInPoints());

getContentSize
(
  • [ignoreSizeProvider =false]
)
Size

Returns a copy the untransformed size of the node.
The contentSize remains the same no matter the node is scaled or rotated.
All nodes has a size. Layer and Scene has the same size of the screen by default.

name type description
ignoreSizeProvider optional Boolean false

true if you need to get the original size of the node

returns:

type: Size

The untransformed size of the node.

examples:

cc.log("Content Size: " + node.getContentSize());

setContentSize
(
  • size
  • [height ]
)

Sets the untransformed size of the node.
The contentSize remains the same no matter the node is scaled or rotated.
All nodes has a size. Layer and Scene has the same size of the screen.

name type description
size Size | Number

The untransformed size of the node or The untransformed size's width of the node.

height optional Number

The untransformed size's height of the node.

examples:

node.setContentSize(cc.size(100, 100));
node.setContentSize(100, 100);

getBoundingBox ( ) Rect

Returns a "local" axis aligned bounding box of the node.
The returned box is relative only to its parent.

returns:

type: Rect

The calculated bounding box of the node

examples:

var boundingBox = node.getBoundingBox();

cleanup ( )

Stops all running actions and schedulers.

examples:

node.cleanup();

getChildByTag
(
  • aTag
)
Node

Returns a child from the container given its tag.

name type description
aTag Number

An identifier to find the child node.

returns:

type: Node

a CCNode object whose tag equals to the input parameter

examples:

var child = node.getChildByTag(1001);

getChildByUuid
(
  • uuid
)
Node

Returns a child from the container given its uuid.

name type description
uuid String

The uuid to find the child node.

returns:

type: Node

a Node whose uuid equals to the input parameter

examples:

var child = node.getChildByUuid(uuid);

getChildByName
(
  • name
)
Node

Returns a child from the container given its name.

name type description
name String

A name to find the child node.

returns:

type: Node

a CCNode object whose name equals to the input parameter

examples:

var child = node.getChildByName("Test Node");

addChild
(
  • child
  • [localZOrder ]
  • [tag ]
)

"add" logic MUST only be in this method

name type description
child Node

A child node

localZOrder optional Number

Z order for drawing priority. Please refer to setZOrder(int)

tag optional Number | String

An integer or a name to identify the node easily. Please refer to setTag(int) and setName(string)

examples:

node.addChild(newNode, 1, 1001);

removeFromParent
(
  • [cleanup =true]
)

Remove itself from its parent node. If cleanup is true, then also remove all actions and callbacks.
If the cleanup parameter is not passed, it will force a cleanup.
If the node orphan, then nothing happens.

name type description
cleanup optional Boolean true

true if all actions and callbacks on this node should be removed, false otherwise.

examples:

node.removeFromParent();
node.removeFromParent(false);

removeChild
(
  • child
  • [cleanup =true]
)

Removes a child from the container. It will also cleanup all running actions depending on the cleanup parameter.

If the cleanup parameter is not passed, it will force a cleanup.
"remove" logic MUST only be on this method
If a class wants to extend the 'removeChild' behavior it only needs
to override this method.

name type description
child Node

The child node which will be removed.

cleanup optional Boolean true

true if all running actions and callbacks on the child node will be cleanup, false otherwise.

examples:

node.removeChild(newNode);
node.removeChild(newNode, false);

removeChildByTag
(
  • tag
  • [cleanup =true]
)

Removes a child from the container by tag value. It will also cleanup all running actions depending on the cleanup parameter. If the cleanup parameter is not passed, it will force a cleanup.

name type description
tag Number

An integer number that identifies a child node

cleanup optional Boolean true

true if all running actions and callbacks on the child node will be cleanup, false otherwise.

examples:

node.removeChildByTag(1001);
node.removeChildByTag(1001, false);

removeAllChildren
(
  • [cleanup =true]
)

Removes all children from the container and do a cleanup all running actions depending on the cleanup parameter.
If the cleanup parameter is not passed, it will force a cleanup.

name type description
cleanup optional Boolean true

true if all running actions on all children nodes should be cleanup, false otherwise.

examples:

node.removeAllChildren();
node.removeAllChildren(false);

getParentToNodeTransform ( ) AffineTransform

Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
The matrix is in Pixels. The returned transform is readonly and cannot be changed.

returns:

examples:

var affineTransform = node.getParentToNodeTransform();

getNodeToWorldTransform ( ) AffineTransform

Returns the world affine transform matrix. The matrix is in Pixels.

returns:

examples:

var affineTransform = node.getNodeToWorldTransform();

getNodeToWorldTransformAR ( ) AffineTransform

Returns the world affine transform matrix. The matrix is in Pixels.
This method is AR (Anchor Relative).

returns:

examples:

var mat = node.getNodeToWorldTransformAR();

getWorldToNodeTransform ( ) AffineTransform

Returns the inverse world affine transform matrix. The matrix is in Pixels. 返回世界坐标系到节点坐标系的逆矩阵。

returns:

examples:

var affineTransform = node.getWorldToNodeTransform();

convertToNodeSpace
(
  • worldPoint
)
Vec2

Converts a Point to node (local) space coordinates. The result is in Vec2.

name type description
worldPoint Vec2

returns:

type: Vec2

examples:

var newVec2 = node.convertToNodeSpace(cc.v2(100, 100));

convertToWorldSpace
(
  • nodePoint
)
Vec2

Converts a Point to world space coordinates. The result is in Points.

name type description
nodePoint Vec2

returns:

type: Vec2

examples:

var newVec2 = node.convertToWorldSpace(cc.v2(100, 100));

convertToNodeSpaceAR
(
  • worldPoint
)
Vec2

Converts a Point to node (local) space coordinates. The result is in Points.
treating the returned/received node point as anchor relative.

name type description
worldPoint Vec2

returns:

type: Vec2

examples:

var newVec2 = node.convertToNodeSpaceAR(cc.v2(100, 100));

convertToWorldSpaceAR
(
  • nodePoint
)
Vec2

Converts a local Point to world space coordinates.The result is in Points.
treating the returned/received node point as anchor relative.

name type description
nodePoint Vec2

returns:

type: Vec2

examples:

var newVec2 = node.convertToWorldSpaceAR(cc.v2(100, 100));

convertTouchToNodeSpace
(
  • touch
)
Vec2

convenience methods which take a cc.Touch instead of cc.Vec2.

name type description
touch Touch

The touch object

returns:

type: Vec2

examples:

var newVec2 = node.convertTouchToNodeSpace(touch);

convertTouchToNodeSpaceAR
(
  • touch
)
Vec2

converts a cc.Touch (world coordinates) into a local coordinate. This method is AR (Anchor Relative).

name type description
touch Touch

The touch object

returns:

type: Vec2

examples:

var newVec2 = node.convertTouchToNodeSpaceAR(touch);

getNodeToParentTransform ( ) AffineTransform

Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
The matrix is in Pixels.

returns:

type: AffineTransform

The affine transform object

examples:

var affineTransform = node.getNodeToParentTransform();

getNodeToParentTransformAR ( ) AffineTransform

Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
The matrix is in Pixels.
This method is AR (Anchor Relative).

returns:

type: AffineTransform

The affine transform object

examples:

var affineTransform = node.getNodeToParentTransformAR();

getBoundingBoxToWorld ( ) Rect

Returns a "world" axis aligned bounding box of the node.
The bounding box contains self and active children's world bounding box.

returns:

type: Rect

examples:

var newRect = node.getBoundingBoxToWorld();