Node
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.
__eventTargets EventTarget[] private
Register all related EventTargets, all event callbacks will be removed in _onPreDestroy
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);
_sizeProvider Object private
Current active scene graph node which provides content size.
position Vec2
position of node.
examples:
node.position = new cc.Vec2(0, 0);
scale Number
Scale of node.
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);
Methods
getComponent
(
-
typeOrClassName
)
Component
- typeOrClassName
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.
returns:
examples:
// get sprite component.
var sprite = node.getComponent(cc.Sprite);
// get custom test calss.
var test = node.getComponent("Test");
getComponents
(
-
typeOrClassName
)
Component[]
- typeOrClassName
Returns all components of supplied type in the node.
returns:
examples:
var sprites = node.getComponents(cc.Sprite);
var tests = node.getComponents("Test");
getComponentInChildren
(
-
typeOrClassName
)
Component
- typeOrClassName
getComponentsInChildren
(
-
typeOrClassName
)
Component[]
- typeOrClassName
Returns all components of supplied type in any of its children.
returns:
examples:
var sprites = node.getComponentsInChildren(cc.Sprite);
var tests = node.getComponentsInChildren("Test");
addComponent
(
-
typeOrClassName
)
Component
- typeOrClassName
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:
examples:
var sprite = node.addComponent(cc.Sprite);
var test = node.addComponent("Test");
_addComponentAt
(
-
comp
-
index
)
private
- comp
- index
removeComponent
(
-
component
)
deprecated
- component
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.
examples:
node.removeComponent(cc.Sprite);
var Test = require("Test");
node.removeComponent(Test);
_getDependComponent
(
-
depended
)
Component
private
- depended
on
(
-
type
-
callback
-
[target
]
)
Function
- type
- callback
- [target ]
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 |
returns:
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
]
)
- type
- callback
- [target ]
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 |
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
)
- 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
- 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:
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
)
- 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
)
- 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
- tag
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:
examples:
var count = node.getNumberOfRunningActions();
cc.log("Running Action Count: " + count);
attr
(
-
attrs
)
- 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);
setGlobalZOrder
(
-
globalZOrder
)
- globalZOrder
Defines the oder in which the nodes are renderer.
Nodes that have a Global Z Order lower, are renderer first.
In case two or more nodes have the same Global Z Order, the oder is not guaranteed.
The only exception if the Nodes have a Global Z Order == 0. In that case, the Scene Graph order is used.
By default, all nodes have a Global Z Order = 0. That means that by default, the Scene Graph order is used to render the nodes.
Global Z Order is useful when you need to render nodes in an order different than the Scene Graph order.
Limitations: Global Z Order can't be used used by Nodes that have SpriteBatchNode as one of their ancestors.
And if ClippingNode is one of the ancestors, then "global Z order" will be relative to the ClippingNode.
name | type | description |
---|---|---|
globalZOrder
|
Number |
examples:
node.setGlobalZOrder(0);
getGlobalZOrder ( ) number
Return the Node's Global Z Order.
returns:
examples:
cc.log("Global Z Order: " + node.getGlobalZOrder());
getScale ( ) Number
Returns the scale factor of the node. Assertion will fail when _scaleX != _scaleY.
returns:
examples:
cc.log("Node Scale: " + node.getScale());
setScale
(
-
scale
-
[scaleY
=scale]
)
- scale
- [scaleY =scale]
getPosition ( ) Vec2
Returns a copy of the position (x,y) of the node in cocos2d coordinates. (0,0) is the left-bottom corner.
returns:
examples:
cc.log("Node Position: " + node.getPosition());
setPosition
(
-
newPosOrxValue
-
[yValue
]
)
- 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:
examples:
cc.log("Node AnchorPoint: " + node.getAnchorPoint());
setAnchorPoint
(
-
point
-
[y
]
)
- 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:
examples:
cc.log("AnchorPointInPoints: " + node.getAnchorPointInPoints());
getContentSize
(
-
[ignoreSizeProvider
=false]
)
Size
- [ignoreSizeProvider =false]
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:
examples:
cc.log("Content Size: " + node.getContentSize());
setContentSize
(
-
size
-
[height
]
)
- 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:
examples:
var boundingBox = node.getBoundingBox();
cleanup ( )
Stops all running actions and schedulers.
examples:
node.cleanup();
getChildByTag
(
-
aTag
)
Node
- aTag
getChildByUuid
(
-
uuid
)
Node
- uuid
getChildByName
(
-
name
)
Node
- name
addChild
(
-
child
-
[localZOrder
]
-
[tag
]
)
- 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]
)
- [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]
)
- 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]
)
- 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]
)
- [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
- worldPoint
convertToWorldSpace
(
-
nodePoint
)
Vec2
- nodePoint
convertToNodeSpaceAR
(
-
worldPoint
)
Vec2
- worldPoint
convertToWorldSpaceAR
(
-
nodePoint
)
Vec2
- nodePoint
convertTouchToNodeSpace
(
-
touch
)
Vec2
- touch
convertTouchToNodeSpaceAR
(
-
touch
)
Vec2
- 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:
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:
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:
examples:
var newRect = node.getBoundingBoxToWorld();
getDisplayedOpacity ( ) number
Returns the displayed opacity of Node, the difference between displayed opacity and opacity is that displayed opacity is calculated based on opacity and parent node's opacity when cascade opacity enabled.
returns:
examples:
var displayOpacity = node.getDisplayedOpacity();
getDisplayedColor ( ) Color
Returns the displayed color of Node, the difference between displayed color and color is that displayed color is calculated based on color and parent node's color when cascade color enabled.
returns:
examples:
var displayColor = node.getDisplayedColor();
setOpacityModifyRGB
(
-
opacityValue
)
- opacityValue
Set whether color should be changed with the opacity value, useless in ccsg.Node, but this function is override in some class to have such behavior.
name | type | description |
---|---|---|
opacityValue
|
Boolean |
examples:
node.setOpacityModifyRGB(true);
isOpacityModifyRGB ( ) Boolean
Get whether color should be changed with the opacity value.
returns:
examples:
var hasChange = node.isOpacityModifyRGB();
getSiblingIndex ( ) number
setSiblingIndex
(
-
index
)
- index
Set the sibling index of this node.
name | type | description |
---|---|---|
index
|
Number |
examples:
node.setSiblingIndex(1);
isChildOf
(
-
parent
)
Boolean
- parent
sortAllChildren ( )
Sorts the children array depends on children's zIndex and arrivalOrder, normally you won't need to invoke this function.
getPositionX ( ) Number
Returns the x axis position of the node in cocos2d coordinates.
returns:
examples:
var posX = node.getPositionX();
setPositionX
(
-
x
)
- x
Sets the x axis position of the node in cocos2d coordinates.
name | type | description |
---|---|---|
x
|
Number |
examples:
node.setPositionX(1);
getPositionY ( ) Number
Returns the y axis position of the node in cocos2d coordinates.
returns:
examples:
var posY = node.getPositionY();
setPositionY
(
-
y
)
- y
Sets the y axis position of the node in cocos2d coordinates.
name | type | description |
---|---|---|
y
|
Number |
The new position in y axis |
examples:
node.setPositionY(100);
getLocalZOrder ( ) Number
Returns the local Z order of this node.
returns:
examples:
var localZorder = node.getLocalZOrder();
setLocalZOrder
(
-
localZOrder
)
- localZOrder
LocalZOrder is the 'key' used to sort the node relative to its siblings.
The Node's parent will sort all its children based ont the LocalZOrder value.
If two nodes have the same LocalZOrder, then the node that was added first to the children's array
will be in front of the other node in the array.
Also, the Scene Graph is traversed using the "In-Order" tree traversal algorithm ( http://en.wikipedia.org/wiki/Tree_traversal#In-order )
And Nodes that have LocalZOder values smaller than 0 are the "left" subtree
While Nodes with LocalZOder greater than 0 are the "right" subtree.
name | type | description |
---|---|---|
localZOrder
|
Number |
examples:
node.setLocalZOrder(1);
isCascadeOpacityEnabled ( ) Boolean
Returns whether node's opacity value affect its child nodes.
returns:
examples:
cc.log(node.isCascadeOpacityEnabled());
setCascadeOpacityEnabled
(
-
cascadeOpacityEnabled
)
- cascadeOpacityEnabled
Enable or disable cascade opacity, if cascade enabled, child nodes' opacity will be the multiplication of parent opacity and its own opacity.
name | type | description |
---|---|---|
cascadeOpacityEnabled
|
Boolean |
examples:
node.setCascadeOpacityEnabled(true);
setCascadeColorEnabled
(
-
cascadeColorEnabled
)
- cascadeColorEnabled
Enable or disable cascade color, if cascade enabled, child nodes' opacity will be the cascade value of parent color and its own color.
name | type | description |
---|---|---|
cascadeColorEnabled
|
Boolean |
examples:
node.setCascadeColorEnabled(true);
destroy ( ) Boolean
Destroy this Object, and release all its own references to other objects.
After destroy, this CCObject is not usable any more.
You can use cc.isValid(obj) (or obj.isValid if obj is non-nil) to check whether the object is destroyed before
accessing it.
returns:
examples:
obj.destroy();
realDestroyInEditor ( )
In fact, Object's "destroy" will not trigger the destruct operation in Firebal Editor. The destruct operation will be executed by Undo system later.
examples:
cc.log(obj.realDestroyInEditor());
_destruct ( ) private
Clear all references in the instance.
NOTE: this method will not clear the getter or setter functions which defined in the INSTANCE of CCObject. You can override the _destruct method if you need.
_onPreDestroy ( ) private
Called before the object being destroyed.
_serialize
(
-
exporting
)
object
private
- exporting
_deserialize
(
-
data
-
ctx
)
private
- data
- ctx
Init this object from the custom serialized data.
name | type | description |
---|---|---|
data
|
Object |
the serialized json data |
ctx
|
_Deserializer |