|
cocos2d-x
2.1.1
|
CCNode is the main element. More...
#include <CCNode.h>
Public Member Functions | |
| virtual CCCamera * | getCamera () |
| Returns a camera object that lets you move the node using a gluLookAt. | |
| virtual bool | isRunning () |
| Returns whether or not the node accepts event callbacks. | |
| virtual void | cleanup (void) |
| Stops all running actions and schedulers. | |
| virtual void | draw (void) |
| Override this method to draw your own node. | |
| virtual void | visit (void) |
| Visits this node's children and draw them recursively. | |
| CCRect | boundingBox (void) |
| Returns a "local" axis aligned bounding box of the node. | |
Setters & Getters for Graphic Peroperties | |
| virtual void | setZOrder (int zOrder) |
| Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. | |
| virtual void | _setZOrder (int z) |
| Sets the z order which stands for the drawing order. | |
| virtual int | getZOrder () |
| Gets the Z order of this node. | |
| virtual void | setVertexZ (float vertexZ) |
| Sets the real OpenGL Z vertex. | |
| virtual float | getVertexZ () |
| Gets OpenGL Z vertex of this node. | |
| virtual void | setScaleX (float fScaleX) |
| Changes the scale factor on X axis of this node. | |
| virtual float | getScaleX () |
| Returns the scale factor on X axis of this node. | |
| virtual void | setScaleY (float fScaleY) |
| Changes the scale factor on Y axis of this node. | |
| virtual float | getScaleY () |
| Returns the scale factor on Y axis of this node. | |
| virtual void | setScale (float scale) |
| Changes both X and Y scale factor of the node. | |
| virtual float | getScale () |
| Gets the scale factor of the node, when X and Y have the same scale factor. | |
| virtual void | setPosition (const CCPoint &position) |
| Changes the position (x,y) of the node in OpenGL coordinates. | |
| virtual const CCPoint & | getPosition () |
| Gets the position (x,y) of the node in OpenGL coordinates. | |
| void | setPosition (float x, float y) |
| Sets position in a more efficient way. | |
| void | getPosition (float *x, float *y) |
| Gets position in a more efficient way, returns two number instead of a CCPoint object. | |
| void | setPositionX (float x) |
| Gets/Sets x or y coordinate individually for position. | |
| float | getPositionX (void) |
| void | setPositionY (float y) |
| float | getPositionY (void) |
| virtual void | setSkewX (float fSkewX) |
| Changes the X skew angle of the node in degrees. | |
| virtual float | getSkewX () |
| Returns the X skew angle of the node in degrees. | |
| virtual void | setSkewY (float fSkewY) |
| Changes the Y skew angle of the node in degrees. | |
| virtual float | getSkewY () |
| Returns the Y skew angle of the node in degrees. | |
| virtual void | setAnchorPoint (const CCPoint &anchorPoint) |
| Sets the anchor point in percent. | |
| virtual const CCPoint & | getAnchorPoint () |
| Returns the anchor point in percent. | |
| virtual const CCPoint & | getAnchorPointInPoints () |
| Returns the anchorPoint in absolute pixels. | |
| virtual void | setContentSize (const CCSize &contentSize) |
| Sets the untransformed size of the node. | |
| virtual const CCSize & | getContentSize () |
| Returns the untransformed size of the node. | |
| virtual void | setVisible (bool visible) |
| Sets whether the node is visible. | |
| virtual bool | isVisible () |
| Determines if the node is visible. | |
| virtual void | setRotation (float fRotation) |
| Sets the rotation (angle) of the node in degrees. | |
| virtual float | getRotation () |
| Returns the rotation of the node in degrees. | |
| virtual void | setRotationX (float fRotaionX) |
| Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. | |
| virtual float | getRotationX () |
| Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. | |
| virtual void | setRotationY (float fRotationY) |
| Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. | |
| virtual float | getRotationY () |
| Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. | |
| virtual void | setOrderOfArrival (unsigned int uOrderOfArrival) |
| Sets the arrival order when this node has a same ZOrder with other children. | |
| virtual unsigned int | getOrderOfArrival () |
| Returns the arrival order, indecates which children is added previously. | |
| virtual void | setGLServerState (ccGLServerState glServerState) |
| Sets the state of OpenGL server side. | |
| virtual ccGLServerState | getGLServerState () |
| Returns the state of OpenGL server side. | |
| virtual void | ignoreAnchorPointForPosition (bool ignore) |
| Sets whether the anchor point will be (0,0) when you position this node. | |
| virtual bool | isIgnoreAnchorPointForPosition () |
| Gets whether the anchor point will be (0,0) when you position this node. | |
Children and Parent | |
| virtual void | addChild (CCNode *child) |
| Adds a child to the container with z-order as 0. | |
| virtual void | addChild (CCNode *child, int zOrder) |
| Adds a child to the container with a z-order. | |
| virtual void | addChild (CCNode *child, int zOrder, int tag) |
| Adds a child to the container with z order and tag. | |
| CCNode * | getChildByTag (int tag) |
| Gets a child from the container with its tag. | |
| virtual CCArray * | getChildren () |
| Return an array of children. | |
| unsigned int | getChildrenCount (void) |
| Get the amount of children. | |
| virtual void | setParent (CCNode *parent) |
| Sets the parent node. | |
| virtual CCNode * | getParent () |
| Returns a pointer to the parent node. | |
| virtual void | removeFromParent () |
| Removes this node itself from its parent node with a cleanup. | |
| virtual void | removeFromParentAndCleanup (bool cleanup) |
| Removes this node itself from its parent node. | |
| virtual void | removeChild (CCNode *child) |
| Removes a child from the container with a cleanup. | |
| virtual void | removeChild (CCNode *child, bool cleanup) |
| Removes a child from the container. | |
| virtual void | removeChildByTag (int tag) |
| Removes a child from the container by tag value with a cleanup. | |
| virtual void | removeChildByTag (int tag, bool cleanup) |
| Removes a child from the container by tag value. | |
| virtual void | removeAllChildren () |
| Removes all children from the container with a cleanup. | |
| virtual void | removeAllChildrenWithCleanup (bool cleanup) |
| Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. | |
| virtual void | reorderChild (CCNode *child, int zOrder) |
| Reorders a child according to a new z value. | |
| virtual void | sortAllChildren () |
| Sorts the children array once before drawing, instead of every time when a child is added or reordered. | |
Grid object for effects | |
| virtual CCGridBase * | getGrid () |
| Returns a grid object that is used when applying effects. | |
| virtual void | setGrid (CCGridBase *pGrid) |
| Changes a grid object that is used when applying effects. | |
Tag & User data | |
| virtual int | getTag () |
| Returns a tag that is used to identify the node easily. | |
| virtual void | setTag (int nTag) |
| Changes the tag that is used to identify the node easily. | |
| virtual void * | getUserData () |
| Returns a custom user data pointer. | |
| virtual void | setUserData (void *pUserData) |
| Sets a custom user data pointer. | |
| virtual CCObject * | getUserObject () |
| Returns a user assigned CCObject. | |
| virtual void | setUserObject (CCObject *pUserObject) |
| Returns a user assigned CCObject. | |
Shader Program | |
| virtual CCGLProgram * | getShaderProgram () |
| Return the shader program currently used for this node. | |
| virtual void | setShaderProgram (CCGLProgram *pShaderProgram) |
| Sets the shader program for this node. | |
Script Bindings for lua | |
| virtual void | registerScriptHandler (int handler) |
| Registers a script function that will be called in onEnter() & onExit() seires functions. | |
| virtual void | unregisterScriptHandler (void) |
| Unregisters a script function that will be called in onEnter() & onExit() series functions. | |
| int | getScriptHandler () |
| Gets script handler for onEnter/onExit event. | |
| void | scheduleUpdateWithPriorityLua (int nHandler, int priority) |
| Schedules for lua script. | |
Event Callbacks | |
| virtual void | onEnter () |
| Event callback that is invoked every time when CCNode enters the 'stage'. | |
| virtual void | onEnterTransitionDidFinish () |
| Event callback that is invoked when the CCNode enters in the 'stage'. | |
| virtual void | onExit () |
| Event callback that is invoked every time the CCNode leaves the 'stage'. | |
| virtual void | onExitTransitionDidStart () |
| Event callback that is called every time the CCNode leaves the 'stage'. | |
Actions | |
| virtual void | setActionManager (CCActionManager *actionManager) |
| Sets the CCActionManager object that is used by all actions. | |
| virtual CCActionManager * | getActionManager () |
| Gets the CCActionManager object that is used by all actions. | |
| CCAction * | runAction (CCAction *action) |
| Executes an action, and returns the action that is executed. | |
| void | stopAllActions (void) |
| Stops and removes all actions from the running action list . | |
| void | stopAction (CCAction *action) |
| Stops and removes an action from the running action list. | |
| void | stopActionByTag (int tag) |
| Removes an action from the running action list by its tag. | |
| CCAction * | getActionByTag (int tag) |
| Gets an action from the running action list by its tag. | |
| unsigned int | numberOfRunningActions (void) |
| Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). | |
Scheduler and Timer | |
| virtual void | setScheduler (CCScheduler *scheduler) |
| Sets a CCScheduler object that is used to schedule all "updates" and timers. | |
| virtual CCScheduler * | getScheduler () |
| Gets a CCSheduler object. | |
| bool | isScheduled (SEL_SCHEDULE selector) |
| Checks whether a selector is scheduled. | |
| void | scheduleUpdate (void) |
| Schedules the "update" method. | |
| void | scheduleUpdateWithPriority (int priority) |
| Schedules the "update" method with a custom priority. | |
| void | unscheduleUpdate (void) |
| void | schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay) |
| Schedules a custom selector. | |
| void | schedule (SEL_SCHEDULE selector, float interval) |
| Schedules a custom selector with an interval time in seconds. | |
| void | scheduleOnce (SEL_SCHEDULE selector, float delay) |
| Schedules a selector that runs only once, with a delay of 0 or larger. | |
| void | schedule (SEL_SCHEDULE selector) |
| Schedules a custom selector, the scheduled selector will be ticked every frame. | |
| void | unschedule (SEL_SCHEDULE selector) |
| Unschedules a custom selector. | |
| void | unscheduleAllSelectors (void) |
| Unschedule all scheduled selectors: custom selectors, and the 'update' selector. | |
| void | resumeSchedulerAndActions (void) |
| Resumes all scheduled selectors and actions. | |
| void | pauseSchedulerAndActions (void) |
| Pauses all scheduled selectors and actions. | |
| virtual void | update (float delta) |
Transformations | |
| void | transform (void) |
| Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes. | |
| void | transformAncestors (void) |
| Performs OpenGL view-matrix transformation of it's ancestors. | |
| virtual void | updateTransform (void) |
| Calls children's updateTransform() method recursively. | |
| virtual CCAffineTransform | nodeToParentTransform (void) |
| Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. | |
| virtual CCAffineTransform | parentToNodeTransform (void) |
| Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. | |
| virtual CCAffineTransform | nodeToWorldTransform (void) |
| Returns the world affine transform matrix. | |
| virtual CCAffineTransform | worldToNodeTransform (void) |
| Returns the inverse world affine transform matrix. | |
Coordinate Converters | |
| CCPoint | convertToNodeSpace (const CCPoint &worldPoint) |
| Converts a Point to node (local) space coordinates. | |
| CCPoint | convertToWorldSpace (const CCPoint &nodePoint) |
| Converts a Point to world space coordinates. | |
| CCPoint | convertToNodeSpaceAR (const CCPoint &worldPoint) |
| Converts a Point to node (local) space coordinates. | |
| CCPoint | convertToWorldSpaceAR (const CCPoint &nodePoint) |
| Converts a local Point to world space coordinates.The result is in Points. | |
| CCPoint | convertTouchToNodeSpace (CCTouch *touch) |
| convenience methods which take a CCTouch instead of CCPoint | |
| CCPoint | convertTouchToNodeSpaceAR (CCTouch *touch) |
| converts a CCTouch (world coordinates) into a local coordinate. | |
Public Member Functions inherited from CCObject | |
| CCObject (void) | |
| virtual | ~CCObject (void) |
| void | release (void) |
| void | retain (void) |
| CCObject * | autorelease (void) |
| CCObject * | copy (void) |
| bool | isSingleReference (void) |
| unsigned int | retainCount (void) |
| virtual bool | isEqual (const CCObject *pObject) |
Public Member Functions inherited from CCCopying | |
| virtual CCObject * | copyWithZone (CCZone *pZone) |
Protected Attributes | |
| float | m_fRotationX |
| rotation angle on x-axis | |
| float | m_fRotationY |
| rotation angle on y-axis | |
| float | m_fScaleX |
| scaling factor on x-axis | |
| float | m_fScaleY |
| scaling factor on y-axis | |
| float | m_fVertexZ |
| OpenGL real Z vertex. | |
| CCPoint | m_obPosition |
| position of the node | |
| float | m_fSkewX |
| skew angle on x-axis | |
| float | m_fSkewY |
| skew angle on y-axis | |
| CCPoint | m_obAnchorPointInPoints |
| anchor point in points | |
| CCPoint | m_obAnchorPoint |
| anchor point normalized (NOT in points) | |
| CCSize | m_obContentSize |
| untransformed size of the node | |
| CCAffineTransform | m_sTransform |
| transform | |
| CCAffineTransform | m_sInverse |
| transform | |
| CCCamera * | m_pCamera |
| a camera | |
| CCGridBase * | m_pGrid |
| a grid | |
| int | m_nZOrder |
| z-order value that affects the draw order | |
| CCArray * | m_pChildren |
| array of children nodes | |
| CCNode * | m_pParent |
| weak reference to parent node | |
| int | m_nTag |
| a tag. Can be any number you assigned just to identify this node | |
| void * | m_pUserData |
| A user assingned void pointer, Can be point to any cpp object. | |
| CCObject * | m_pUserObject |
| A user assigned CCObject. | |
| CCGLProgram * | m_pShaderProgram |
| OpenGL shader. | |
| ccGLServerState | m_eGLServerState |
| OpenGL servier side state. | |
| unsigned int | m_uOrderOfArrival |
| used to preserve sequence while sorting children with the same zOrder | |
| CCScheduler * | m_pScheduler |
| scheduler used to schedule timers and updates | |
| CCActionManager * | m_pActionManager |
| a pointer to ActionManager singleton, which is used to handle all the actions | |
| bool | m_bRunning |
| is running | |
| bool | m_bTransformDirty |
| transform dirty flag | |
| bool | m_bInverseDirty |
| transform dirty flag | |
| bool | m_bVisible |
| is this node visible | |
| bool | m_bIgnoreAnchorPointForPosition |
| true if the Anchor Point will be (0,0) when you position the CCNode, false otherwise. | |
| bool | m_bReorderChildDirty |
| children order dirty flag | |
| int | m_nScriptHandler |
| script handler for onEnter() & onExit(), used in Javascript binding and Lua binding. | |
| int | m_nUpdateScriptHandler |
| script handler for update() callback per frame, which is invoked from lua & javascript. | |
| ccScriptType | m_eScriptType |
| type of script binding, lua or javascript | |
Protected Attributes inherited from CCObject | |
| unsigned int | m_uReference |
| unsigned int | m_uAutoReleaseCount |
Constructor, Distructor and Initializers | |
| CCNode (void) | |
| Default constructor. | |
| virtual | ~CCNode (void) |
| Default destructor. | |
| const char * | description (void) |
| Gets the description string. | |
| static CCNode * | create (void) |
| Allocates and initializes a node. | |
Additional Inherited Members | |
Public Attributes inherited from CCObject | |
| unsigned int | m_uID |
| int | m_nLuaID |
Detailed Description
CCNode is the main element.
Anything that gets drawn or contains things that get drawn is a CCNode. The most popular CCNodes are: CCScene, CCLayer, CCSprite, CCMenu.
The main features of a CCNode are:
- They can contain other CCNode nodes (addChild, getChildByTag, removeChild, etc)
- They can schedule periodic callback (schedule, unschedule, etc)
- They can execute actions (runAction, stopAction, etc)
Some CCNode nodes provide extra functionality for them or their children.
Subclassing a CCNode usually means (one/all) of:
- overriding init to initialize resources and schedule callbacks
- create callbacks to handle the advancement of time
- overriding draw to render the node
Features of CCNode:
- position
- scale (x, y)
- rotation (in degrees, clockwise)
- CCCamera (an interface to gluLookAt )
- CCGridBase (to do mesh transformations)
- anchor point
- size
- visible
- z-order
- openGL z position
Default values:
- rotation: 0
- position: (x=0,y=0)
- scale: (x=1,y=1)
- contentSize: (x=0,y=0)
- anchorPoint: (x=0,y=0)
Limitations:
- A CCNode is a "void" object. It doesn't have a texture
Order in transformations with grid disabled
- The node will be translated (position)
- The node will be rotated (rotation)
- The node will be scaled (scale)
- The node will be moved according to the camera values (camera)
Order in transformations with grid enabled
- The node will be translated (position)
- The node will be rotated (rotation)
- The node will be scaled (scale)
- The grid will capture the screen
- The node will be moved according to the camera values (camera)
- The grid will render the captured screen
Camera:
- Each node has a camera. By default it points to the center of the CCNode.
Constructor & Destructor Documentation
| CCNode | ( | void | ) |
Default constructor.
|
virtual |
Default destructor.
Member Function Documentation
|
virtual |
Sets the z order which stands for the drawing order.
This is an internal method. Don't call it outside the framework. The difference between setZOrder(int) and _setOrder(int) is:
- _setZOrder(int) is a pure setter for m_nZOrder memeber variable
- setZOrder(int) firstly changes m_nZOrder, then recorder this node in its parent's chilren array.
|
virtual |
Adds a child to the container with z-order as 0.
If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.
- Parameters
-
child A child node
Reimplemented in CCSprite, CCScrollView, CCSpriteBatchNode, CCMenu, and CCParticleBatchNode.
|
virtual |
Adds a child to the container with a z-order.
If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.
- Parameters
-
child A child node zOrder Z order for drawing priority. Please refer to setZOrder(int)
Reimplemented in CCSprite, CCScrollView, CCSpriteBatchNode, CCMenu, and CCParticleBatchNode.
|
virtual |
Adds a child to the container with z order and tag.
If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.
- Parameters
-
child A child node zOrder Z order for drawing priority. Please refer to setZOrder(int) tag A interger to identify the node easily. Please refer to setTag(int)
Reimplemented in CCSprite, CCScrollView, CCTMXLayer, CCSpriteBatchNode, CCMenu, and CCParticleBatchNode.
| CCRect boundingBox | ( | void | ) |
|
virtual |
Stops all running actions and schedulers.
Reimplemented in CCTransitionScene.
Converts a Point to node (local) space coordinates.
The result is in Points.
Converts a Point to node (local) space coordinates.
The result is in Points. treating the returned/received node point as anchor relative.
converts a CCTouch (world coordinates) into a local coordinate.
This method is AR (Anchor Relative).
Converts a Point to world space coordinates.
The result is in Points.
Converts a local Point to world space coordinates.The result is in Points.
treating the returned/received node point as anchor relative.
|
static |
Allocates and initializes a node.
- Returns
- A initialized node which is marked as "autorelease".
| const char* description | ( | void | ) |
Gets the description string.
It makes debugging easier.
- Returns
- A string terminated with '\0'
|
virtual |
Override this method to draw your own node.
The following GL states will be enabled by default:
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- glEnable(GL_TEXTURE_2D); AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE But if you enable any other GL state, you should disable it after drawing your node.
Reimplemented in CCTransitionCrossFade, CCSprite, CCLayerColor, CCTextFieldTTF, CCSpriteBatchNode, CCParticleBatchNode, CCAtlasNode, CCParticleSystemQuad, CCTransitionScene, CCProgressTimer, CCMotionStreak, CCRenderTexture, and CCDrawNode.
| CCAction* getActionByTag | ( | int | tag | ) |
Gets an action from the running action list by its tag.
- See Also
- setTag(int), getTag().
- Returns
- The action object with the given tag.
|
virtual |
Gets the CCActionManager object that is used by all actions.
- Returns
- A CCActionManager object.
|
virtual |
Returns the anchor point in percent.
- See Also
- setAnchorPoint(const CCPoint&)
- Returns
- The anchor point of node.
|
virtual |
Returns the anchorPoint in absolute pixels.
- Warning
- You can only read it. If you wish to modify it, use anchorPoint instead.
- See Also
- getAnchorPoint()
- Returns
- The anchor point in absolute pixels.
|
virtual |
Returns a camera object that lets you move the node using a gluLookAt.
- Returns
- A CCCamera object that lets you move the node using a gluLookAt
| CCNode* getChildByTag | ( | int | tag | ) |
Gets a child from the container with its tag.
- Parameters
-
tag An identifier to find the child node.
- Returns
- a CCNode object whose tag equals to the input parameter
|
virtual |
Return an array of children.
Composing a "tree" structure is a very important feature of CCNode Here's a sample code of traversing children array:
This sample code traverses all children nodes, and set theie position to (0,0)
- Returns
- An array of children
| unsigned int getChildrenCount | ( | void | ) |
Get the amount of children.
- Returns
- The amount of children.
|
virtual |
Returns the untransformed size of the node.
- See Also
- setContentSize(const CCSize&)
- Returns
- The untransformed size of the node.
Reimplemented in CCScrollView.
|
virtual |
Returns the state of OpenGL server side.
- Returns
- The state of OpenGL server side.
|
virtual |
Returns a grid object that is used when applying effects.
- Returns
- A CCGrid object that is used when applying effects
|
virtual |
Returns the arrival order, indecates which children is added previously.
- See Also
- setOrderOfArrival(unsigned int)
- Returns
- The arrival order.
|
virtual |
Returns a pointer to the parent node.
- See Also
- setParent(CCNode*)
- Returns
- A pointer to the parnet node
|
virtual |
Gets the position (x,y) of the node in OpenGL coordinates.
- See Also
- setPosition(const CCPoint&)
- Returns
- The position (x,y) of the node in OpenGL coordinates
| void getPosition | ( | float * | x, |
| float * | y | ||
| ) |
Gets position in a more efficient way, returns two number instead of a CCPoint object.
- See Also
- setPosition(float, float)
| float getPositionX | ( | void | ) |
| float getPositionY | ( | void | ) |
|
virtual |
Returns the rotation of the node in degrees.
- See Also
- setRotation(float)
- Returns
- The rotation of the node in degrees.
|
virtual |
Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.
- See Also
- setRotationX(float)
- Returns
- The X rotation in degrees.
|
virtual |
Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
- See Also
- setRotationY(float)
- Returns
- The Y rotation in degrees.
|
virtual |
Gets the scale factor of the node, when X and Y have the same scale factor.
- Warning
- Assert when m_fScaleX != m_fScaleY.
- See Also
- setScale(float)
- Returns
- The scale factor of the node.
|
virtual |
Returns the scale factor on X axis of this node.
- See Also
- setScaleX(float)
- Returns
- The scale factor on X axis.
|
virtual |
Returns the scale factor on Y axis of this node.
- See Also
- setScaleY(float)
- Returns
- The scale factor on Y axis.
|
virtual |
|
inline |
Gets script handler for onEnter/onExit event.
This is an internal method. g
- See Also
- registerScriptHandler(int)
- Returns
- A number that indicates a lua function.
|
virtual |
Return the shader program currently used for this node.
- Returns
- The shader program currelty used for this node
|
virtual |
Returns the X skew angle of the node in degrees.
- See Also
- setSkewX(float)
- Returns
- The X skew angle of the node in degrees.
|
virtual |
Returns the Y skew angle of the node in degrees.
- See Also
- setSkewY(float)
- Returns
- The Y skew angle of the node in degrees.
|
virtual |
Returns a tag that is used to identify the node easily.
You can set tags to node then identify them easily.
- Returns
- A interger that identifies the node.
|
virtual |
Returns a custom user data pointer.
You can set everything in UserData pointer, a data block, a structure or an object.
- Returns
- A custom user data pointer
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Sets whether the anchor point will be (0,0) when you position this node.
This is an internal method, only used by CCLayer and CCScene. Don't call it outside framework. The default value is false, while in CCLayer and CCScene are true
- Parameters
-
ignore true if anchor point will be (0,0) when you position this node
- Todo:
- This method shoud be renamed as setIgnoreAnchorPointForPosition(bool) or something with "set"
Reimplemented in CCSprite.
|
virtual |
Gets whether the anchor point will be (0,0) when you position this node.
- Returns
- true if the anchor point will be (0,0) when you position this node.
|
virtual |
| bool isScheduled | ( | SEL_SCHEDULE | selector | ) |
Checks whether a selector is scheduled.
- Parameters
-
selector A function selector
- Returns
- Whether the funcion selector is scheduled.
|
virtual |
Determines if the node is visible.
- See Also
- setVisible(bool)
- Returns
- true if the node is visible, false if the node is hidden.
|
virtual |
Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
The matrix is in Pixels.
|
virtual |
Returns the world affine transform matrix.
The matrix is in Pixels.
| unsigned int numberOfRunningActions | ( | void | ) |
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.
- Todo:
- Rename to getNumberOfRunningActions()
- Returns
- The number of actions that are running plus the ones that are schedule to run
|
virtual |
Event callback that is invoked every time when CCNode enters the 'stage'.
If the CCNode enters the 'stage' with a transition, this event is called when the transition starts. During onEnter you can't access a "sister/brother" node. If you override onEnter, you shall call its parent's one, e.g., CCNode::onEnter().
Reimplemented in CCTransitionFadeTR, CCTransitionSplitCols, CCTransitionTurnOffTiles, CCTransitionCrossFade, CCTransitionFade, CCTransitionZoomFlipAngular, CCTransitionZoomFlipY, CCTransitionZoomFlipX, CCTransitionFlipAngular, CCTransitionFlipY, CCTransitionFlipX, CCTransitionShrinkGrow, CCTransitionSlideInL, CCTransitionMoveInL, CCTransitionJumpZoom, CCTransitionRotoZoom, CCControl, CCTransitionScene, CCTransitionPageTurn, CCLayer, CCClippingNode, and CCTransitionProgress.
|
virtual |
Event callback that is invoked when the CCNode enters in the 'stage'.
If the CCNode enters the 'stage' with a transition, this event is called when the transition finishes. If you override onEnterTransitionDidFinish, you shall call its parent's one, e.g. CCNode::onEnterTransitionDidFinish()
Reimplemented in CCLayer, and CCClippingNode.
|
virtual |
Event callback that is invoked every time the CCNode leaves the 'stage'.
If the CCNode leaves the 'stage' with a transition, this event is called when the transition finishes. During onExit you can't access a sibling node. If you override onExit, you shall call its parent's one, e.g., CCNode::onExit().
Reimplemented in CCTransitionCrossFade, CCTransitionFade, CCEditBox, CCMenu, CCControl, CCTransitionScene, CCClippingNode, CCLayer, and CCTransitionProgress.
|
virtual |
Event callback that is called every time the CCNode leaves the 'stage'.
If the CCNode leaves the 'stage' with a transition, this callback is called when the transition starts.
Reimplemented in CCClippingNode.
|
virtual |
Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
The matrix is in Pixels.
| void pauseSchedulerAndActions | ( | void | ) |
Pauses all scheduled selectors and actions.
This method is called internally by onExit
|
virtual |
Registers a script function that will be called in onEnter() & onExit() seires functions.
This handler will be removed automatically after onExit() called.
- Warning
- This method is for internal usage, don't call it manually.
- Todo:
- Perhaps we should rename it to get/set/removeScriptHandler acoording to the function name style.
- Parameters
-
handler A number that indicates a lua function.
|
virtual |
Removes all children from the container with a cleanup.
|
virtual |
Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.
- Parameters
-
cleanup true if all running actions on all children nodes should be cleanup, false oterwise.
Reimplemented in CCSprite, CCSpriteBatchNode, CCParticleBatchNode, and CCParallaxNode.
|
virtual |
Removes a child from the container with a cleanup.
- See Also
- removeChild(CCNode, bool)
- Parameters
-
child The child node which will be removed.
|
virtual |
Removes a child from the container.
It will also cleanup all running actions depending on the cleanup parameter.
- Parameters
-
child The child node which will be removed. cleanup true if all running actions and callbacks on the child node will be cleanup, false otherwise.
Reimplemented in CCSprite, CCTMXLayer, CCSpriteBatchNode, CCMenu, CCParticleBatchNode, and CCParallaxNode.
|
virtual |
Removes a child from the container by tag value with a cleanup.
- See Also
- removeChildByTag(int, bool)
- Parameters
-
tag An interger number that identifies a child node
|
virtual |
Removes a child from the container by tag value.
It will also cleanup all running actions depending on the cleanup parameter
- Parameters
-
tag An interger number that identifies a child node cleanup true if all running actions and callbacks on the child node will be cleanup, false otherwise.
|
virtual |
Removes this node itself from its parent node with a cleanup.
If the node orphan, then nothing happens.
- See Also
- removeFromParentAndCleanup(bool)
|
virtual |
Removes this node itself from its parent node.
If the node orphan, then nothing happens.
- Parameters
-
cleanup true if all actions and callbacks on this node should be removed, false otherwise.
|
virtual |
Reorders a child according to a new z value.
- Parameters
-
child An already added child node. It MUST be already added. zOrder Z order for drawing priority. Please refer to setZOrder(int)
Reimplemented in CCSprite, CCSpriteBatchNode, and CCParticleBatchNode.
| void resumeSchedulerAndActions | ( | void | ) |
Resumes all scheduled selectors and actions.
This method is called internally by onEnter
Executes an action, and returns the action that is executed.
This node becomes the action's target. Refer to CCAction::getTarget()
- Warning
- Actions don't retain their target.
- Returns
- An Action pointer
| void schedule | ( | SEL_SCHEDULE | selector, |
| float | interval, | ||
| unsigned int | repeat, | ||
| float | delay | ||
| ) |
Schedules a custom selector.
If the selector is already scheduled, then the interval parameter will be updated without scheduling it again.
- Parameters
-
interval Tick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead. repeat The selector will be excuted (repeat + 1) times, you can use kCCRepeatForever for tick infinitely. delay The amount of time that the first tick will wait before execution.
| void schedule | ( | SEL_SCHEDULE | selector, |
| float | interval | ||
| ) |
Schedules a custom selector with an interval time in seconds.
- Parameters
-
selector A function wrapped as a selector interval Callback interval time in seconds. 0 means tick every frame,
| void schedule | ( | SEL_SCHEDULE | selector | ) |
Schedules a custom selector, the scheduled selector will be ticked every frame.
- Parameters
-
selector A function wrapped as a selector
| void scheduleOnce | ( | SEL_SCHEDULE | selector, |
| float | delay | ||
| ) |
Schedules a selector that runs only once, with a delay of 0 or larger.
- Parameters
-
selector A function wrapped as a selector delay The amount of time that the first tick will wait before execution.
| void scheduleUpdate | ( | void | ) |
Schedules the "update" method.
It will use the order number 0. This method will be called every frame. Scheduled methods with a lower order value will be called before the ones that have a higher order value. Only one "update" method could be scheduled per node.
| void scheduleUpdateWithPriority | ( | int | priority | ) |
Schedules the "update" method with a custom priority.
This selector will be called every frame. Scheduled methods with a lower priority will be called before the ones that have a higher value. Only one "update" selector could be scheduled per node (You can't have 2 'update' selectors).
| void scheduleUpdateWithPriorityLua | ( | int | nHandler, |
| int | priority | ||
| ) |
Schedules for lua script.
|
virtual |
Sets the CCActionManager object that is used by all actions.
- Warning
- If you set a new CCActionManager, then previously created actions will be removed.
- Parameters
-
actionManager A CCActionManager object that is used by all actions.
|
virtual |
Sets the anchor point in percent.
anchorPoint 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 anchorPoint is (0.5,0.5), so it starts in the center of the node.
- Parameters
-
anchorPoint The anchor point of node.
Reimplemented in CCSprite, and CCLabelBMFont.
|
virtual |
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.
- Parameters
-
contentSize The untransformed size of the node.
Reimplemented in CCEditBox, CCScrollView, CCLayerColor, and CCScale9Sprite.
|
virtual |
Sets the state of OpenGL server side.
- Parameters
-
glServerState The state of OpenGL server side.
|
virtual |
Changes a grid object that is used when applying effects.
- Parameters
-
A CCGrid object that is used when applying effects
|
virtual |
Sets the arrival order when this node has a same ZOrder with other children.
A node which called addChild subsequently will take a larger arrival order, If two children have the same Z order, the child with larger arrival order will be drawn later.
- Warning
- This method is used internally for zOrder sorting, don't change this manually
- Parameters
-
uOrderOfArrival The arrival order.
|
virtual |
Sets the parent node.
- Parameters
-
parent A pointer to the parnet node
|
virtual |
Changes the position (x,y) of the node in OpenGL coordinates.
Usually we use ccp(x,y) to compose CCPoint object. The original point (0,0) is at the left-bottom corner of screen. For example, this codesnip sets the node in the center of screen.
- Parameters
-
position The position (x,y) of the node in OpenGL coordinates
Reimplemented in CCSprite, CCEditBox, and CCMotionStreak.
| void setPosition | ( | float | x, |
| float | y | ||
| ) |
Sets position in a more efficient way.
Passing two numbers (x,y) is much efficient than passing CCPoint object. This method is binded to lua and javascript. Passing a number is 10 times faster than passing a object from lua to c++
- Parameters
-
x X coordinate for position y Y coordinate for position
| void setPositionX | ( | float | x | ) |
Gets/Sets x or y coordinate individually for position.
These methods are used in Lua and Javascript Bindings
| void setPositionY | ( | float | y | ) |
|
virtual |
Sets the rotation (angle) of the node in degrees.
0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.
- Parameters
-
fRotation The roration of the node in degrees.
Reimplemented in CCSprite, and CCParticleSystem.
|
virtual |
Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.
0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.
- Parameters
-
fRotationX The X rotation in degrees which performs a horizontal rotational skew.
Reimplemented in CCSprite.
|
virtual |
Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.
- Parameters
-
fRotationY The Y rotation in degrees.
Reimplemented in CCSprite.
|
virtual |
Changes both X and Y scale factor of the node.
1.0 is the default scale factor. It modifies the X and Y scale at the same time.
- Parameters
-
scale The scale factor for both X and Y axis.
Reimplemented in CCSprite, CCParticleSystem, and CCLabelBMFont.
|
virtual |
Changes the scale factor on X axis of this node.
The deafult value is 1.0 if you haven't changed it before
- Parameters
-
fScaleX The scale factor on X axis.
Reimplemented in CCParticleSystem, CCSprite, and CCLabelBMFont.
|
virtual |
Changes the scale factor on Y axis of this node.
The Default value is 1.0 if you haven't changed it before.
- Parameters
-
fScaleY The scale factor on Y axis.
Reimplemented in CCParticleSystem, CCSprite, and CCLabelBMFont.
|
virtual |
Sets a CCScheduler object that is used to schedule all "updates" and timers.
- Warning
- If you set a new CCScheduler, then previously created timers/update are going to be removed.
- Parameters
-
scheduler A CCShdeduler object that is used to schedule all "update" and timers.
|
virtual |
Sets the shader program for this node.
Since v2.0, each rendering node must set its shader program. It should be set in initialize phase.
- Parameters
-
The shader program which fetchs from CCShaderCache.
|
virtual |
Changes the X skew angle of the node in degrees.
This angle describes the shear distortion in the X direction. Thus, it is the angle between the Y axis and the left edge of the shape The default skewX angle is 0. Positive values distort the node in a CW direction.
- Parameters
-
fSkewX The X skew angle of the node in degrees.
Reimplemented in CCSprite.
|
virtual |
Changes the Y skew angle of the node in degrees.
This angle describes the shear distortion in the Y direction. Thus, it is the angle between the X axis and the bottom edge of the shape The default skewY angle is 0. Positive values distort the node in a CCW direction.
- Parameters
-
fSkewY The Y skew angle of the node in degrees.
Reimplemented in CCSprite.
|
virtual |
Changes the tag that is used to identify the node easily.
Please refer to getTag for the sample code.
- Parameters
-
A interger that indentifies the node.
|
virtual |
Sets a custom user data pointer.
You can set everything in UserData pointer, a data block, a structure or an object, etc.
- Warning
- Don't forget to release the memroy manually, especially before you change this data pointer, and before this node is autoreleased.
- Returns
- A custom user data pointer
|
virtual |
Returns a user assigned CCObject.
Similar to UserData, but instead of holding a void* it holds an object. The UserObject will be retained once in this method, and the previous UserObject (if existed) will be relese. The UserObject will be released in CCNode's destructure.
- Parameters
-
A user assigned CCObject
|
virtual |
Sets the real OpenGL Z vertex.
Differences between openGL Z vertex and cocos2d Z order:
- OpenGL Z modifies the Z vertex, and not the Z order in the relation between parent-children
- OpenGL Z might require to set 2D projection
- cocos2d Z order works OK if all the nodes uses the same openGL Z vertex. eg: vertexZ = 0
- Warning
- Use it at your own risk since it might break the cocos2d parent-children z order
- Parameters
-
fVertexZ OpenGL Z vertex of this node.
Reimplemented in CCSprite.
|
virtual |
Sets whether the node is visible.
The default value is true, a node is default to visible
- Parameters
-
visible true if the node is visible, false if the node is hidden.
Reimplemented in CCSprite.
|
virtual |
Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array.
The Z order of node is relative to its "brothers": children of the same parent. It's nothing to do with OpenGL's z vertex. This one only affects the draw order of nodes in cocos2d. The larger number it is, the later this node will be drawn in each message loop. Please refer to setVertexZ(float) for the difference.
- Parameters
-
nZOrder Z order of this node.
|
virtual |
Sorts the children array once before drawing, instead of every time when a child is added or reordered.
This appraoch can improves the performance massively.
- Note
- Don't call this manually unless a child added needs to be removed in the same frame
Reimplemented in CCSprite, and CCSpriteBatchNode.
| void stopAction | ( | CCAction * | action | ) |
Stops and removes an action from the running action list.
- Parameters
-
An action object to be removed.
| void stopActionByTag | ( | int | tag | ) |
Removes an action from the running action list by its tag.
- Parameters
-
A tag that indicates the action to be removed.
| void stopAllActions | ( | void | ) |
Stops and removes all actions from the running action list .
| void transform | ( | void | ) |
Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes.
| void transformAncestors | ( | void | ) |
Performs OpenGL view-matrix transformation of it's ancestors.
Generally the ancestors are already transformed, but in certain cases (eg: attaching a FBO) It's necessary to transform the ancestors again.
|
virtual |
Unregisters a script function that will be called in onEnter() & onExit() series functions.
- See Also
- registerScriptHandler(int)
| void unschedule | ( | SEL_SCHEDULE | selector | ) |
Unschedules a custom selector.
- Parameters
-
selector A function wrapped as a selector
| void unscheduleAllSelectors | ( | void | ) |
Unschedule all scheduled selectors: custom selectors, and the 'update' selector.
Actions are not affected by this method.
| void unscheduleUpdate | ( | void | ) |
|
virtual |
Reimplemented from CCObject.
Reimplemented in CCParticleSystem, CCMotionStreak, and CCControlStepper.
|
virtual |
Calls children's updateTransform() method recursively.
This method is moved from CCSprite, so it's no longer specific to CCSprite. As the result, you apply CCSpriteBatchNode's optimization on your customed CCNode. e.g., batchNode->addChild(myCustomNode), while you can only addChild(sprite) before.
Reimplemented in CCSprite.
|
virtual |
Visits this node's children and draw them recursively.
Reimplemented in CCEditBox, CCScrollView, CCSpriteBatchNode, CCParticleBatchNode, CCScale9Sprite, CCClippingNode, CCRenderTexture, and CCParallaxNode.
|
virtual |
Returns the inverse world affine transform matrix.
The matrix is in Pixels.
Member Data Documentation
|
protected |
|
protected |
transform dirty flag
|
protected |
children order dirty flag
|
protected |
is running
|
protected |
transform dirty flag
|
protected |
is this node visible
|
protected |
OpenGL servier side state.
|
protected |
type of script binding, lua or javascript
|
protected |
rotation angle on x-axis
|
protected |
rotation angle on y-axis
|
protected |
scaling factor on x-axis
|
protected |
scaling factor on y-axis
|
protected |
skew angle on x-axis
|
protected |
skew angle on y-axis
|
protected |
OpenGL real Z vertex.
|
protected |
|
protected |
a tag. Can be any number you assigned just to identify this node
|
protected |
script handler for update() callback per frame, which is invoked from lua & javascript.
|
protected |
z-order value that affects the draw order
|
protected |
anchor point normalized (NOT in points)
|
protected |
anchor point in points
|
protected |
untransformed size of the node
|
protected |
position of the node
|
protected |
a pointer to ActionManager singleton, which is used to handle all the actions
|
protected |
a camera
|
protected |
array of children nodes
|
protected |
a grid
|
protected |
weak reference to parent node
|
protected |
scheduler used to schedule timers and updates
|
protected |
OpenGL shader.
|
protected |
A user assingned void pointer, Can be point to any cpp object.
|
protected |
transform
|
protected |
transform
|
protected |
used to preserve sequence while sorting children with the same zOrder
The documentation for this class was generated from the following file:
- /Users/zhangkoumyou/SourceCode/cocos2d-x/cocos2dx/base_nodes/CCNode.h

Public Member Functions inherited from 