cocos2d-x  v3.6
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Node Class Reference

Node is the base element of the Scene Graph. More...

Inherits Ref.

Inherited by __NodeRGBA, AtlasNode, AttachNode, BaseLight, Camera, ClippingNode, ClippingRectangleNode, DrawNode, SpritePolygon, TMXLayer, TMXTiledMap, TableViewCell, Layer, MenuItem, MotionStreak, NodeGrid, ParallaxNode, ParticleBatchNode, ParticleSystem, ProgressTimer, ProtectedNode, RenderTexture, Scene, Skybox, Sprite, Sprite3D, SpriteBatchNode, Terrain, TMXTiledMap, Scale9Sprite, and GLNode.

Public Member Functions

virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers.
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags)
 Override this method to draw your own node. More...
 
local draw ( local renderer, local transform, local flags)
 Override this method to draw your own node. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
 Visits this node's children and draw them recursively. More...
 
virtual ScenegetScene () const
 Returns the Scene that contains the Node. More...
 
local getScene ()
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual Rect boundingBox () const
local boundingBox ()
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene. More...
 
local setEventDispatcher ( local dispatcher)
 Set event dispatcher for scene. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene. More...
 
local getEventDispatcher ()
 Get the event dispatcher of scene. More...
 
void setPhysicsBody (PhysicsBody *body)
 Set the PhysicsBody that let the sprite effect with physics. More...
 
PhysicsBodygetPhysicsBody () const
 Get the PhysicsBody the sprite have. More...
 
var getPhysicsBody ()
 Get the PhysicsBody the sprite have. More...
 
local getPhysicsBody ()
 Get the PhysicsBody the sprite have. More...
 
void removeFromPhysicsWorld ()
 Remove this node from physics world. More...
 
var removeFromPhysicsWorld ()
 Remove this node from physics world. More...
 
local removeFromPhysicsWorld ()
 Remove this node from physics world. More...
 
void updateTransformFromPhysics (const Mat4 &parentTransform, uint32_t parentFlags)
 Update the transform matrix from physics.
 
var updateTransformFromPhysics ( var parentTransform, var parentFlags)
 Update the transform matrix from physics.
 
local updateTransformFromPhysics ( local parentTransform, local parentFlags)
 Update the transform matrix from physics.
 
virtual void updatePhysicsBodyTransform (const Mat4 &parentTransform, uint32_t parentFlags, float parentScaleX, float parentScaleY)
 Update physics body transform matrix.
 
var updatePhysicsBodyTransform ( var parentTransform, var parentFlags, var parentScaleX, var parentScaleY)
 Update physics body transform matrix.
 
local updatePhysicsBodyTransform ( local parentTransform, local parentFlags, local parentScaleX, local parentScaleY)
 Update physics body transform matrix.
 
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
 
Setters & Getters for Graphic Peroperties
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
var _setLocalZOrder ( var z)
local _setLocalZOrder ( local z)
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
var getLocalZOrder ()
 Gets the local Z order of this node. More...
 
local getLocalZOrder ()
 Gets the local Z order of this node. More...
 
virtual int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
local setGlobalZOrder ( local globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
var getGlobalZOrder ()
 Returns the Node's Global Z Order. More...
 
local getGlobalZOrder ()
 Returns the Node's Global Z Order. More...
 
virtual void setScaleX (float scaleX)
 Sets the scale (x) of the node. More...
 
local setScaleX ( local scaleX)
 Sets the scale (x) of the node. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node. More...
 
virtual void setScaleY (float scaleY)
 Sets the scale (y) of the node. More...
 
var setScaleY ( var scaleY)
 Sets the scale (y) of the node. More...
 
local setScaleY ( local scaleY)
 Sets the scale (y) of the node. More...
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node. More...
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
var setScaleZ ( var scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
local setScaleZ ( local scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node. More...
 
virtual void setScale (float scale)
 Sets the scale (x,y,z) of the node. More...
 
local setScale ( local scale)
 Sets the scale (x,y,z) of the node. More...
 
virtual float getScale () const
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
virtual void setScale (float scaleX, float scaleY)
 Sets the scale (x,y) of the node. More...
 
local setScale ( local scaleX, local scaleY)
 Sets the scale (x,y) of the node. More...
 
virtual void setPosition (const Vec2 &position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
local setPosition ( local position)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
var setNormalizedPosition ( var position)
 Sets the position (x,y) using values between 0 and 1. More...
 
local setNormalizedPosition ( local position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getNormalizedPosition () const
 Returns the normalized position. More...
 
local getNormalizedPosition ()
 Returns the normalized position. More...
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
var setPosition ( var x, var y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
local setPosition ( local x, local y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void) const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY (void) const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system. More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
var setVertexZ ( var positionZ)
 Sets the 'z' coordinate in the position. More...
 
local setPositionZ ( local positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual void setVertexZ (float vertexZ)
var setVertexZ ( var vertexZ)
local setVertexZ ( local vertexZ)
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
var getVertexZ ()
 Gets position Z coordinate of this node. More...
 
local getPositionZ ()
 Gets position Z coordinate of this node. More...
 
virtual float getVertexZ () const
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
local setSkewX ( local skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
var getSkewX ()
 Returns the X skew angle of the node in degrees. More...
 
local getSkewX ()
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
var setSkewY ( var skewY)
 Changes the Y skew angle of the node in degrees. More...
 
local setSkewY ( local skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
var getSkewY ()
 Returns the Y skew angle of the node in degrees. More...
 
local getSkewY ()
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
local setAnchorPoint ( local anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
local getAnchorPoint ()
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
local getAnchorPointInPoints ()
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets the untransformed size of the node. More...
 
var setContentSize ( var contentSize)
 Sets the untransformed size of the node. More...
 
local setContentSize ( local contentSize)
 Sets the untransformed size of the node. More...
 
virtual const Size & getContentSize () const
 Returns the untransformed size of the node. More...
 
local getContentSize ()
 Returns the untransformed size of the node. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
local setVisible ( local visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual void setRotation (float rotation)
 Sets the rotation (angle) of the node in degrees. More...
 
local setRotation ( local rotation)
 Sets the rotation (angle) of the node in degrees. More...
 
virtual float getRotation () const
 Returns the rotation of the node in degrees. More...
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
local setRotation3D ( local rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
virtual Vec3 getRotation3D () const
 Returns the rotation (X,Y,Z) in degrees. More...
 
virtual void setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
local setRotationQuat ( local quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
local setRotationSkewX ( local rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual void setRotationX (float rotationX)
var setRotationX ( var rotationX)
local setRotationX ( local rotationX)
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
var getRotationX ()
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
local getRotationSkewX ()
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual float getRotationX () const
var getRotationX ()
local getRotationX ()
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
local setRotationSkewY ( local rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setRotationY (float rotationY)
local setRotationY ( local rotationY)
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
local getRotationSkewY ()
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY () const
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
void setGLServerState (int serverState)
var setGLServerState ( var serverState)
int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
Children and Parent
virtual void addChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
var addChild ( var child)
 Adds a child to the container with z-order as 0. More...
 
local addChild ( local child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
local addChild ( local child, local localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual void addChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
local addChild ( local child, local localZOrder, local tag)
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder, const std::string &name)
 Adds a child to the container with z order and tag. More...
 
local addChild ( local child, local localZOrder, local name)
 Adds a child to the container with z order and tag. More...
 
virtual NodegetChildByTag (int tag) const
 Gets a child from the container with its tag. More...
 
var getChildByTag ( var tag)
 Gets a child from the container with its tag. More...
 
local getChildByTag ( local tag)
 Gets a child from the container with its tag. More...
 
virtual NodegetChildByName (const std::string &name) const
 Gets a child from the container with its name. More...
 
local getChildByName ( local name)
 Gets a child from the container with its name. More...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. More...
 
virtual Vector< Node * > & getChildren ()
 Returns the array of the node's children. More...
 
local getChildren ()
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const
local getChildren ()
virtual ssize_t getChildrenCount () const
 Returns the amount of children. More...
 
var getChildrenCount ()
 Returns the amount of children. More...
 
local getChildrenCount ()
 Returns the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
local setParent ( local parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
local removeFromParent ( local cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
local removeChild ( local child, local true)
 Removes a child from the container. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
local removeChildByTag ( local tag, local true)
 Removes a child from the container by tag value. More...
 
virtual void removeChildByName (const std::string &name, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
var removeChildByName ( var name, var true)
 Removes a child from the container by tag value. More...
 
local removeChildByName ( local name, local true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
var removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
local removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
var removeAllChildren ( var cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
local removeAllChildren ( local cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
local reorderChild ( local child, local localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
Tag & User data
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
local setTag ( local tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual std::string getName () const
 Returns a string that is used to identify the node. More...
 
local getName ()
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
var setName ( var name)
 Changes the name that is used to identify the node easily. More...
 
local setName ( local name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
local setUserObject ( local userObject)
 Returns a user assigned Object. More...
 
GLProgram
GLProgramgetGLProgram () const
 Return the GLProgram (shader) currently used for this node. More...
 
var getGLProgram ()
 Return the GLProgram (shader) currently used for this node. More...
 
local getGLProgram ()
 Return the GLProgram (shader) currently used for this node. More...
 
GLProgramgetShaderProgram () const
var getShaderProgram ()
local getShaderProgram ()
virtual void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
var setGLProgram ( var glprogram)
 Sets the shader program for this node. More...
 
local setGLProgram ( local glprogram)
 Sets the shader program for this node. More...
 
void setShaderProgram (GLProgram *glprogram)
var setShaderProgram ( var glprogram)
local setShaderProgram ( local glprogram)
GLProgramStategetGLProgramState () const
 Return the GLProgramState currently used for this node. More...
 
var getGLProgramState ()
 Return the GLProgramState currently used for this node. More...
 
local getGLProgramState ()
 Return the GLProgramState currently used for this node. More...
 
virtual void setGLProgramState (GLProgramState *glProgramState)
 Set the GLProgramState for this node. More...
 
var setGLProgramState ( var glProgramState)
 Set the GLProgramState for this node. More...
 
local setGLProgramState ( local glProgramState)
 Set the GLProgramState for this node. More...
 
Event Callbacks
virtual void onEnter ()
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual void onEnterTransitionDidFinish ()
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExit ()
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
virtual void onExitTransitionDidStart ()
 Event callback that is called every time the Node leaves the 'stage'. More...
 
Actions
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
var setActionManager ( var actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
local setActionManager ( local actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
local getActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
virtual ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
local runAction ( local action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list .
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
var stopAction ( var action)
 Stops and removes an action from the running action list. More...
 
local stopAction ( local action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
var stopActionByTag ( var tag)
 Removes an action from the running action list by its tag. More...
 
local stopActionByTag ( local tag)
 Removes an action from the running action list by its tag. More...
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag. More...
 
var stopAllActionsByTag ( var tag)
 Removes all actions from the running action list by its tag. More...
 
local stopAllActionsByTag ( local tag)
 Removes all actions from the running action list by its tag. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
local getNumberOfRunningActions ()
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
ssize_t numberOfRunningActions () const
var numberOfRunningActions ()
local numberOfRunningActions ()
Scheduler and Timer
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
local getScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key)
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
var scheduleUpdateWithPriority ( var priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
var unscheduleUpdate ()
local unscheduleUpdate ()
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
var scheduleOnce ( var selector, var delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
var schedule ( var callback, var interval, var repeat, var delay, var key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
var unschedule ( var selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions. More...
 
void unscheduleAllSelectors ()
var unscheduleAllSelectors ()
local unscheduleAllSelectors ()
virtual void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
local resume ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
local pause ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
void resumeSchedulerAndActions ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
var pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
local pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void update (float delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
var update ( var delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
local update ( local delta)
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
Transformations
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
var updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
local updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
local getNodeToParentAffineTransform ()
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
virtual AffineTransform nodeToParentTransform () const
local nodeToParentTransform ()
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
var getParentToNodeTransform ()
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
local getParentToNodeTransform ()
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
local getParentToNodeAffineTransform ()
virtual AffineTransform parentToNodeTransform () const
local parentToNodeTransform ()
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
local getNodeToWorldAffineTransform ()
virtual AffineTransform nodeToWorldTransform () const
local nodeToWorldTransform ()
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
var getWorldToNodeTransform ()
 Returns the inverse world affine transform matrix. More...
 
local getWorldToNodeTransform ()
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
local getWorldToNodeAffineTransform ()
virtual AffineTransform worldToNodeTransform () const
local worldToNodeTransform ()
Coordinate Converters
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
var convertToNodeSpace ( var worldPoint)
 Converts a Vec2 to node (local) space coordinates. More...
 
local convertToNodeSpace ( local worldPoint)
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2. More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
var setAdditionalTransform ( var additionalTransform)
local setAdditionalTransform ( local additionalTransform)
component functions
Component * getComponent (const std::string &name)
 Gets a component by its name. More...
 
var getComponent ( var name)
 Gets a component by its name. More...
 
local getComponent ( local name)
 Gets a component by its name. More...
 
virtual bool addComponent (Component *component)
 Adds a component. More...
 
virtual bool removeComponent (const std::string &name)
 Removes a component by its name. More...
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer. More...
 
virtual void removeAllComponents ()
 Removes all components.
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Static Public Attributes

static const int INVALID_TAG = -1
 Default tag used for all the nodes.
 
var INVALID_TAG = -1
 Default tag used for all the nodes.
 
local INVALID_TAG = -1
 Default tag used for all the nodes.
 

Constructor, Destructor and Initializers

static Nodecreate ()
 Allocates and initializes a node. More...
 
var create ()
 Allocates and initializes a node. More...
 
local create ()
 Allocates and initializes a node. More...
 
virtual std::string getDescription () const
 Gets the description string. More...
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 

Detailed Description

Node is the base element of the Scene Graph.

Elements of the Scene Graph must be Node objects or subclasses of it. The most common Node objects are: Scene, Layer, Sprite, Menu, Label.

The main features of a Node are:

  • They can contain other Node objects (addChild, getChildByTag, removeChild, etc)
  • They can schedule periodic callback (schedule, unschedule, etc)
  • They can execute actions (runAction, stopAction, etc)

Subclassing a Node 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

Properties of Node:

  • position (default: x=0, y=0)
  • scale (default: x=1, y=1)
  • rotation (in degrees, clockwise) (default: 0)
  • anchor point (default: x=0, y=0)
  • contentSize (default: width=0, height=0)
  • visible (default: true)

Limitations:

  • A Node is a "void" object. If you want to draw something on the screen, you should use a Sprite instead. Or subclass Node and override draw.

Member Function Documentation

static Node* create ( )
static

Allocates and initializes a node.

Returns
A initialized node which is marked as "autorelease".
var create ( )
static

Allocates and initializes a node.

Returns
A initialized node which is marked as "autorelease".
local create ( )
static

Allocates and initializes a node.

Returns
A initialized node which is marked as "autorelease".
virtual std::string getDescription ( ) const
virtual
virtual void setLocalZOrder ( int  localZOrder)
virtual

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 < 0 are the "left" subtree While Nodes with LocalZOder >=0 are the "right" subtree.

See also
setGlobalZOrder
setVertexZ
Parameters
localZOrderThe local Z order value.
var setLocalZOrder ( var  localZOrder)
virtual

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 < 0 are the "left" subtree While Nodes with LocalZOder >=0 are the "right" subtree.

See also
setGlobalZOrder
setVertexZ
Parameters
localZOrderThe local Z order value.
local setLocalZOrder ( local  localZOrder)
virtual

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 < 0 are the "left" subtree While Nodes with LocalZOder >=0 are the "right" subtree.

See also
setGlobalZOrder
setVertexZ
Parameters
localZOrderThe local Z order value.
virtual int getLocalZOrder ( ) const
inlinevirtual

Gets the local Z order of this node.

See also
setLocalZOrder(int)
Returns
The local (relative to its siblings) Z order.
var getLocalZOrder ( )
inlinevirtual

Gets the local Z order of this node.

See also
setLocalZOrder(int)
Returns
The local (relative to its siblings) Z order.
local getLocalZOrder ( )
inlinevirtual

Gets the local Z order of this node.

See also
setLocalZOrder(int)
Returns
The local (relative to its siblings) Z order.
virtual void setGlobalZOrder ( float  globalZOrder)
virtual

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 acenstors. And if ClippingNode is one of the ancestors, then "global Z order" will be relative to the ClippingNode.

See also
setLocalZOrder()
setVertexZ()
Since
v3.0
Parameters
globalZOrderThe global Z order value.
var setGlobalZOrder ( var  globalZOrder)
virtual

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 acenstors. And if ClippingNode is one of the ancestors, then "global Z order" will be relative to the ClippingNode.

See also
setLocalZOrder()
setVertexZ()
Since
v3.0
Parameters
globalZOrderThe global Z order value.
local setGlobalZOrder ( local  globalZOrder)
virtual

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 acenstors. And if ClippingNode is one of the ancestors, then "global Z order" will be relative to the ClippingNode.

See also
setLocalZOrder()
setVertexZ()
Since
v3.0
Parameters
globalZOrderThe global Z order value.
virtual float getGlobalZOrder ( ) const
inlinevirtual

Returns the Node's Global Z Order.

See also
setGlobalZOrder(int)
Returns
The node's global Z order
var getGlobalZOrder ( )
inlinevirtual

Returns the Node's Global Z Order.

See also
setGlobalZOrder(int)
Returns
The node's global Z order
local getGlobalZOrder ( )
inlinevirtual

Returns the Node's Global Z Order.

See also
setGlobalZOrder(int)
Returns
The node's global Z order
virtual void setScaleX ( float  scaleX)
virtual

Sets the scale (x) of the node.

It is a scaling factor that multiplies the width of the node and its children.

Parameters
scaleXThe scale factor on X axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

var setScaleX ( var  scaleX)
virtual

Sets the scale (x) of the node.

It is a scaling factor that multiplies the width of the node and its children.

Parameters
scaleXThe scale factor on X axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

local setScaleX ( local  scaleX)
virtual

Sets the scale (x) of the node.

It is a scaling factor that multiplies the width of the node and its children.

Parameters
scaleXThe scale factor on X axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

virtual float getScaleX ( ) const
virtual

Returns the scale factor on X axis of this node.

See also
setScaleX(float)
Returns
The scale factor on X axis.

Reimplemented in Scale9Sprite, Label, and Widget.

var getScaleX ( )
virtual

Returns the scale factor on X axis of this node.

See also
setScaleX(float)
Returns
The scale factor on X axis.

Reimplemented in Scale9Sprite, Label, and Widget.

local getScaleX ( )
virtual

Returns the scale factor on X axis of this node.

See also
setScaleX(float)
Returns
The scale factor on X axis.

Reimplemented in Scale9Sprite, Label, and Widget.

virtual void setScaleY ( float  scaleY)
virtual

Sets the scale (y) of the node.

It is a scaling factor that multiplies the height of the node and its children.

Parameters
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

var setScaleY ( var  scaleY)
virtual

Sets the scale (y) of the node.

It is a scaling factor that multiplies the height of the node and its children.

Parameters
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

local setScaleY ( local  scaleY)
virtual

Sets the scale (y) of the node.

It is a scaling factor that multiplies the height of the node and its children.

Parameters
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Widget, Sprite, and ParticleSystem.

virtual float getScaleY ( ) const
virtual

Returns the scale factor on Y axis of this node.

See also
setScaleY(float)
Returns
The scale factor on Y axis.

Reimplemented in Scale9Sprite, Label, and Widget.

var getScaleY ( )
virtual

Returns the scale factor on Y axis of this node.

See also
setScaleY(float)
Returns
The scale factor on Y axis.

Reimplemented in Scale9Sprite, Label, and Widget.

local getScaleY ( )
virtual

Returns the scale factor on Y axis of this node.

See also
setScaleY(float)
Returns
The scale factor on Y axis.

Reimplemented in Scale9Sprite, Label, and Widget.

virtual void setScaleZ ( float  scaleZ)
virtual

Changes the scale factor on Z axis of this node.

The Default value is 1.0 if you haven't changed it before.

Parameters
scaleZThe scale factor on Z axis.
Warning
The physics body doesn't support this.
var setScaleZ ( var  scaleZ)
virtual

Changes the scale factor on Z axis of this node.

The Default value is 1.0 if you haven't changed it before.

Parameters
scaleZThe scale factor on Z axis.
Warning
The physics body doesn't support this.
local setScaleZ ( local  scaleZ)
virtual

Changes the scale factor on Z axis of this node.

The Default value is 1.0 if you haven't changed it before.

Parameters
scaleZThe scale factor on Z axis.
Warning
The physics body doesn't support this.
virtual float getScaleZ ( ) const
virtual

Returns the scale factor on Z axis of this node.

See also
setScaleZ(float)
Returns
The scale factor on Z axis.
var getScaleZ ( )
virtual

Returns the scale factor on Z axis of this node.

See also
setScaleZ(float)
Returns
The scale factor on Z axis.
local getScaleZ ( )
virtual

Returns the scale factor on Z axis of this node.

See also
setScaleZ(float)
Returns
The scale factor on Z axis.
virtual void setScale ( float  scale)
virtual

Sets the scale (x,y,z) of the node.

It is a scaling factor that multiplies the width, height and depth of the node and its children.

Parameters
scaleThe scale factor for both X and Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Sprite, Widget, and ParticleSystem.

var setScale ( var  scale)
virtual

Sets the scale (x,y,z) of the node.

It is a scaling factor that multiplies the width, height and depth of the node and its children.

Parameters
scaleThe scale factor for both X and Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Sprite, Widget, and ParticleSystem.

local setScale ( local  scale)
virtual

Sets the scale (x,y,z) of the node.

It is a scaling factor that multiplies the width, height and depth of the node and its children.

Parameters
scaleThe scale factor for both X and Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Label, Sprite, Widget, and ParticleSystem.

virtual float getScale ( ) const
virtual

Gets the scale factor of the node, when X and Y have the same scale factor.

Warning
Assert when _scaleX != _scaleY
See also
setScale(float)
Returns
The scale factor of the node.

Reimplemented in Scale9Sprite, and Widget.

var getScale ( )
virtual

Gets the scale factor of the node, when X and Y have the same scale factor.

Warning
Assert when _scaleX != _scaleY
See also
setScale(float)
Returns
The scale factor of the node.

Reimplemented in Scale9Sprite, and Widget.

local getScale ( )
virtual

Gets the scale factor of the node, when X and Y have the same scale factor.

Warning
Assert when _scaleX != _scaleY
See also
setScale(float)
Returns
The scale factor of the node.

Reimplemented in Scale9Sprite, and Widget.

virtual void setScale ( float  scaleX,
float  scaleY 
)
virtual

Sets the scale (x,y) of the node.

It is a scaling factor that multiplies the width and height of the node and its children.

Parameters
scaleXThe scale factor on X axis.
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Widget, and Sprite.

var setScale ( var  scaleX,
var  scaleY 
)
virtual

Sets the scale (x,y) of the node.

It is a scaling factor that multiplies the width and height of the node and its children.

Parameters
scaleXThe scale factor on X axis.
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Widget, and Sprite.

local setScale ( local  scaleX,
local  scaleY 
)
virtual

Sets the scale (x,y) of the node.

It is a scaling factor that multiplies the width and height of the node and its children.

Parameters
scaleXThe scale factor on X axis.
scaleYThe scale factor on Y axis.
Warning
The physics body doesn't support this.

Reimplemented in Scale9Sprite, Widget, and Sprite.

virtual void setPosition ( const Vec2 position)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Usually we use Vec2(x,y) to compose Vec2 object. This code snippet sets the node in the center of screen.

node->setPosition(size.width/2, size.height/2);
Parameters
positionThe position (x,y) of the node in OpenGL coordinates.

Reimplemented in Sprite, EditBox, Widget, and MotionStreak.

var setPosition ( var  position)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Usually we use Vec2(x,y) to compose Vec2 object. This code snippet sets the node in the center of screen.

node->setPosition(size.width/2, size.height/2);
Parameters
positionThe position (x,y) of the node in OpenGL coordinates.

Reimplemented in Sprite, EditBox, Widget, and MotionStreak.

local setPosition ( local  position)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Usually we use Vec2(x,y) to compose Vec2 object. This code snippet sets the node in the center of screen.

node->setPosition(size.width/2, size.height/2);
Parameters
positionThe position (x,y) of the node in OpenGL coordinates.

Reimplemented in Sprite, EditBox, Widget, and MotionStreak.

virtual void setNormalizedPosition ( const Vec2 position)
virtual

Sets the position (x,y) using values between 0 and 1.

The positions in pixels is calculated like the following:

// pseudo code
void setNormalizedPosition(Vec2 pos) {
Size s = getParent()->getContentSize();
_position = pos * s;
}
Parameters
positionThe normalized position (x,y) of the node, using value between 0 and 1.
var setNormalizedPosition ( var  position)
virtual

Sets the position (x,y) using values between 0 and 1.

The positions in pixels is calculated like the following:

// pseudo code
void setNormalizedPosition(Vec2 pos) {
Size s = getParent()->getContentSize();
_position = pos * s;
}
Parameters
positionThe normalized position (x,y) of the node, using value between 0 and 1.
local setNormalizedPosition ( local  position)
virtual

Sets the position (x,y) using values between 0 and 1.

The positions in pixels is calculated like the following:

// pseudo code
void setNormalizedPosition(Vec2 pos) {
Size s = getParent()->getContentSize();
_position = pos * s;
}
Parameters
positionThe normalized position (x,y) of the node, using value between 0 and 1.
virtual const Vec2& getPosition ( ) const
virtual

Gets the position (x,y) of the node in its parent's coordinate system.

See also
setPosition(const Vec2&)
Returns
The position (x,y) of the node in OpenGL coordinates.
In js and lua return value is table which contains x,y.

Reimplemented in MotionStreak.

var getPosition ( )
virtual

Gets the position (x,y) of the node in its parent's coordinate system.

See also
setPosition(const Vec2&)
Returns
The position (x,y) of the node in OpenGL coordinates.
In js and lua return value is table which contains x,y.

Reimplemented in MotionStreak.

local getPosition ( )
virtual

Gets the position (x,y) of the node in its parent's coordinate system.

See also
setPosition(const Vec2&)
Returns
The position (x,y) of the node in OpenGL coordinates.
In js and lua return value is table which contains x,y.

Reimplemented in MotionStreak.

virtual const Vec2&
getNormalizedPosition
( ) const
virtual

Returns the normalized position.

Returns
The normalized position.
var getNormalizedPosition ( )
virtual

Returns the normalized position.

Returns
The normalized position.
local getNormalizedPosition ( )
virtual

Returns the normalized position.

Returns
The normalized position.
virtual void setPosition ( float  x,
float  y 
)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Passing two numbers (x,y) is much efficient than passing Vec2 object. This method is bound to Lua and JavaScript. Passing a number is 10 times faster than passing a object from Lua to c++.

// sample code in Lua
local pos = node::getPosition() -- returns Vec2 object from C++.
node:setPosition(x, y) -- pass x, y coordinate to C++.
Parameters
xX coordinate for position.
yY coordinate for position.

Reimplemented in Sprite, and MotionStreak.

var setPosition ( var  x,
var  y 
)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Passing two numbers (x,y) is much efficient than passing Vec2 object. This method is bound to Lua and JavaScript. Passing a number is 10 times faster than passing a object from Lua to c++.

// sample code in Lua
local pos = node::getPosition() -- returns Vec2 object from C++.
node:setPosition(x, y) -- pass x, y coordinate to C++.
Parameters
xX coordinate for position.
yY coordinate for position.

Reimplemented in Sprite, and MotionStreak.

local setPosition ( local  x,
local  y 
)
virtual

Sets the position (x,y) of the node in its parent's coordinate system.

Passing two numbers (x,y) is much efficient than passing Vec2 object. This method is bound to Lua and JavaScript. Passing a number is 10 times faster than passing a object from Lua to c++.

// sample code in Lua
local pos = node::getPosition() -- returns Vec2 object from C++.
node:setPosition(x, y) -- pass x, y coordinate to C++.
Parameters
xX coordinate for position.
yY coordinate for position.

Reimplemented in Sprite, and MotionStreak.

virtual void getPosition ( float *  x,
float *  y 
) const
virtual

Gets position in a more efficient way, returns two number instead of a Vec2 object.

See also
setPosition(float, float) In js,out value not return.
Parameters
xTo receive x coordinate for position.
yTo receive y coordinate for position.

Reimplemented in MotionStreak.

var getPosition ( var  x,
var  y 
)
virtual

Gets position in a more efficient way, returns two number instead of a Vec2 object.

See also
setPosition(float, float) In js,out value not return.
Parameters
xTo receive x coordinate for position.
yTo receive y coordinate for position.

Reimplemented in MotionStreak.

local getPosition ( local  x,
local  y 
)
virtual

Gets position in a more efficient way, returns two number instead of a Vec2 object.

See also
setPosition(float, float) In js,out value not return.
Parameters
xTo receive x coordinate for position.
yTo receive y coordinate for position.

Reimplemented in MotionStreak.

virtual void setPositionX ( float  x)
virtual

Gets/Sets x or y coordinate individually for position.

These methods are used in Lua and Javascript Bindings Sets the x coordinate of the node in its parent's coordinate system.

Parameters
xThe x coordinate of the node.

Reimplemented in MotionStreak.

var setPositionX ( var  x)
virtual

Gets/Sets x or y coordinate individually for position.

These methods are used in Lua and Javascript Bindings Sets the x coordinate of the node in its parent's coordinate system.

Parameters
xThe x coordinate of the node.

Reimplemented in MotionStreak.

local setPositionX ( local  x)
virtual

Gets/Sets x or y coordinate individually for position.

These methods are used in Lua and Javascript Bindings Sets the x coordinate of the node in its parent's coordinate system.

Parameters
xThe x coordinate of the node.

Reimplemented in MotionStreak.

virtual float getPositionX ( void  ) const
virtual

Gets the x coordinate of the node in its parent's coordinate system.

Returns
The x coordinate of the node.

Reimplemented in MotionStreak.

var getPositionX (   )
virtual

Gets the x coordinate of the node in its parent's coordinate system.

Returns
The x coordinate of the node.

Reimplemented in MotionStreak.

local getPositionX (   )
virtual

Gets the x coordinate of the node in its parent's coordinate system.

Returns
The x coordinate of the node.

Reimplemented in MotionStreak.

virtual void setPositionY ( float  y)
virtual

Sets the y coordinate of the node in its parent's coordinate system.

Parameters
yThe y coordinate of the node.

Reimplemented in MotionStreak.

var setPositionY ( var  y)
virtual

Sets the y coordinate of the node in its parent's coordinate system.

Parameters
yThe y coordinate of the node.

Reimplemented in MotionStreak.

local setPositionY ( local  y)
virtual

Sets the y coordinate of the node in its parent's coordinate system.

Parameters
yThe y coordinate of the node.

Reimplemented in MotionStreak.

virtual float getPositionY ( void  ) const
virtual

Gets the y coordinate of the node in its parent's coordinate system.

Returns
The y coordinate of the node.

Reimplemented in MotionStreak.

var getPositionY (   )
virtual

Gets the y coordinate of the node in its parent's coordinate system.

Returns
The y coordinate of the node.

Reimplemented in MotionStreak.

local getPositionY (   )
virtual

Gets the y coordinate of the node in its parent's coordinate system.

Returns
The y coordinate of the node.

Reimplemented in MotionStreak.

virtual void setPosition3D ( const Vec3 position)
virtual

Sets the position (X, Y, and Z) in its parent's coordinate system.

Parameters
positionThe position (X, Y, and Z) in its parent's coordinate system.
local setPosition3D ( local  position)
virtual

Sets the position (X, Y, and Z) in its parent's coordinate system.

Parameters
positionThe position (X, Y, and Z) in its parent's coordinate system.
virtual Vec3 getPosition3D ( ) const
virtual

Returns the position (X,Y,Z) in its parent's coordinate system.

Returns
The position (X, Y, and Z) in its parent's coordinate system.

Reimplemented in MotionStreak.

local getPosition3D ( )
virtual

Returns the position (X,Y,Z) in its parent's coordinate system.

Returns
The position (X, Y, and Z) in its parent's coordinate system.

Reimplemented in MotionStreak.

virtual void setPositionZ ( float  positionZ)
virtual

Sets the 'z' coordinate in the position.

It is the OpenGL Z vertex value.

The OpenGL depth buffer and depth testing are disabled by default. You need to turn them on. In order to use this property correctly.

setPositionZ() also sets the setGlobalZValue() with the positionZ as value.

See also
setGlobalZValue()
Parameters
positionZOpenGL Z vertex of this node.

Reimplemented in Sprite.

var setVertexZ ( var  positionZ)
virtual

Sets the 'z' coordinate in the position.

It is the OpenGL Z vertex value.

The OpenGL depth buffer and depth testing are disabled by default. You need to turn them on. In order to use this property correctly.

setPositionZ() also sets the setGlobalZValue() with the positionZ as value.

See also
setGlobalZValue()
Parameters
positionZOpenGL Z vertex of this node.

Reimplemented in Sprite.

local setPositionZ ( local  positionZ)
virtual

Sets the 'z' coordinate in the position.

It is the OpenGL Z vertex value.

The OpenGL depth buffer and depth testing are disabled by default. You need to turn them on. In order to use this property correctly.

setPositionZ() also sets the setGlobalZValue() with the positionZ as value.

See also
setGlobalZValue()
Parameters
positionZOpenGL Z vertex of this node.

Reimplemented in Sprite.

virtual float getPositionZ ( ) const
virtual

Gets position Z coordinate of this node.

See also
setPositionZ(float)
Returns
The position Z coordinate of this node.
var getVertexZ ( )
virtual

Gets position Z coordinate of this node.

See also
setPositionZ(float)
Returns
The position Z coordinate of this node.
local getPositionZ ( )
virtual

Gets position Z coordinate of this node.

See also
setPositionZ(float)
Returns
The position Z coordinate of this node.
virtual void setSkewX ( float  skewX)
virtual

Changes the X skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the X direction. Thus, it is the angle between the Y coordinate and the left edge of the shape The default skewX angle is 0. Positive values distort the node in a CW direction.

Parameters
skewXThe X skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

var setSkewX ( var  skewX)
virtual

Changes the X skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the X direction. Thus, it is the angle between the Y coordinate and the left edge of the shape The default skewX angle is 0. Positive values distort the node in a CW direction.

Parameters
skewXThe X skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

local setSkewX ( local  skewX)
virtual

Changes the X skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the X direction. Thus, it is the angle between the Y coordinate and the left edge of the shape The default skewX angle is 0. Positive values distort the node in a CW direction.

Parameters
skewXThe X skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

virtual float getSkewX ( ) const
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.
var getSkewX ( )
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.
local getSkewX ( )
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 void setSkewY ( float  skewY)
virtual

Changes the Y skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the Y direction. Thus, it is the angle between the X coordinate and the bottom edge of the shape. The default skewY angle is 0. Positive values distort the node in a CCW direction.

Parameters
skewYThe Y skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

var setSkewY ( var  skewY)
virtual

Changes the Y skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the Y direction. Thus, it is the angle between the X coordinate and the bottom edge of the shape. The default skewY angle is 0. Positive values distort the node in a CCW direction.

Parameters
skewYThe Y skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

local setSkewY ( local  skewY)
virtual

Changes the Y skew angle of the node in degrees.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality while the second one uses the real skew function.

This angle describes the shear distortion in the Y direction. Thus, it is the angle between the X coordinate and the bottom edge of the shape. The default skewY angle is 0. Positive values distort the node in a CCW direction.

Parameters
skewYThe Y skew angle of the node in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

virtual float getSkewY ( ) const
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.
var getSkewY ( )
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.
local getSkewY ( )
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 void setAnchorPoint ( const Vec2 anchorPoint)
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.

Note
If node has a physics body, the anchor must be in the middle, you cann't change this to other value.
Parameters
anchorPointThe anchor point of node.

Reimplemented in Scale9Sprite, Sprite, EditBox, RichText, and ProgressTimer.

var setAnchorPoint ( var  anchorPoint)
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.

Note
If node has a physics body, the anchor must be in the middle, you cann't change this to other value.
Parameters
anchorPointThe anchor point of node.

Reimplemented in Scale9Sprite, Sprite, EditBox, RichText, and ProgressTimer.

local setAnchorPoint ( local  anchorPoint)
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.

Note
If node has a physics body, the anchor must be in the middle, you cann't change this to other value.
Parameters
anchorPointThe anchor point of node.

Reimplemented in Scale9Sprite, Sprite, EditBox, RichText, and ProgressTimer.

virtual const Vec2& getAnchorPoint ( ) const
virtual

Returns the anchor point in percent.

See also
setAnchorPoint(const Vec2&)
Returns
The anchor point of node.
var getAnchorPoint ( )
virtual

Returns the anchor point in percent.

See also
setAnchorPoint(const Vec2&)
Returns
The anchor point of node.
local getAnchorPoint ( )
virtual

Returns the anchor point in percent.

See also
setAnchorPoint(const Vec2&)
Returns
The anchor point of node.
virtual const Vec2&
getAnchorPointInPoints
( ) const
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.
var getAnchorPointInPoints ( )
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.
local getAnchorPointInPoints ( )
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 void setContentSize ( const Size &  contentSize)
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
contentSizeThe untransformed size of the node.

Reimplemented in Widget, Scale9Sprite, EditBox, LayerColor, and ScrollView.

var setContentSize ( var  contentSize)
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
contentSizeThe untransformed size of the node.

Reimplemented in Widget, Scale9Sprite, EditBox, LayerColor, and ScrollView.

local setContentSize ( local  contentSize)
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
contentSizeThe untransformed size of the node.

Reimplemented in Widget, Scale9Sprite, EditBox, LayerColor, and ScrollView.

virtual const Size& getContentSize ( ) const
virtual

Returns the untransformed size of the node.

See also
setContentSize(const Size&)
Returns
The untransformed size of the node.

Reimplemented in Label, and ScrollView.

var getContentSize ( )
virtual

Returns the untransformed size of the node.

See also
setContentSize(const Size&)
Returns
The untransformed size of the node.

Reimplemented in Label, and ScrollView.

local getContentSize ( )
virtual

Returns the untransformed size of the node.

See also
setContentSize(const Size&)
Returns
The untransformed size of the node.

Reimplemented in Label, and ScrollView.

virtual void setVisible ( bool  visible)
virtual

Sets whether the node is visible.

The default value is true, a node is default to visible.

Parameters
visibletrue if the node is visible, false if the node is hidden.

Reimplemented in Sprite, EditBox, WebView, and VideoPlayer.

var setVisible ( var  visible)
virtual

Sets whether the node is visible.

The default value is true, a node is default to visible.

Parameters
visibletrue if the node is visible, false if the node is hidden.

Reimplemented in Sprite, EditBox, WebView, and VideoPlayer.

local setVisible ( local  visible)
virtual

Sets whether the node is visible.

The default value is true, a node is default to visible.

Parameters
visibletrue if the node is visible, false if the node is hidden.

Reimplemented in Sprite, EditBox, WebView, and VideoPlayer.

virtual bool isVisible ( ) const
virtual

Determines if the node is visible.

See also
setVisible(bool)
Returns
true if the node is visible, false if the node is hidden.
var isVisible ( )
virtual

Determines if the node is visible.

See also
setVisible(bool)
Returns
true if the node is visible, false if the node is hidden.
local isVisible ( )
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 void setRotation ( float  rotation)
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
rotationThe rotation of the node in degrees.

Reimplemented in Sprite, and ParticleSystem.

var setRotation ( var  rotation)
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
rotationThe rotation of the node in degrees.

Reimplemented in Sprite, and ParticleSystem.

local setRotation ( local  rotation)
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
rotationThe rotation of the node in degrees.

Reimplemented in Sprite, and ParticleSystem.

virtual float getRotation ( ) const
virtual

Returns the rotation of the node in degrees.

See also
setRotation(float)
Returns
The rotation of the node in degrees.
var getRotation ( )
virtual

Returns the rotation of the node in degrees.

See also
setRotation(float)
Returns
The rotation of the node in degrees.
local getRotation ( )
virtual

Returns the rotation of the node in degrees.

See also
setRotation(float)
Returns
The rotation of the node in degrees.
virtual void setRotation3D ( const Vec3 rotation)
virtual

Sets the rotation (X,Y,Z) in degrees.

Useful for 3d rotations.

Warning
The physics body doesn't support this.
Parameters
rotationThe rotation of the node in 3d.
local setRotation3D ( local  rotation)
virtual

Sets the rotation (X,Y,Z) in degrees.

Useful for 3d rotations.

Warning
The physics body doesn't support this.
Parameters
rotationThe rotation of the node in 3d.
virtual Vec3 getRotation3D ( ) const
virtual

Returns the rotation (X,Y,Z) in degrees.

Returns
The rotation of the node in 3d.
local getRotation3D ( )
virtual

Returns the rotation (X,Y,Z) in degrees.

Returns
The rotation of the node in 3d.
virtual void setRotationQuat ( const Quaternion quat)
virtual

Set rotation by quaternion.

Parameters
quatThe rotation in quaternion.
local setRotationQuat ( local  quat)
virtual

Set rotation by quaternion.

Parameters
quatThe rotation in quaternion.
virtual Quaternion getRotationQuat ( ) const
virtual

Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise.

Returns
The rotation in quaternion.
local getRotationQuat ( )
virtual

Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise.

Returns
The rotation in quaternion.
virtual void setRotationSkewX ( float  rotationX)
virtual

Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationXThe X rotation in degrees which performs a horizontal rotational skew.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

var setRotationX ( var  rotationX)
virtual

Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationXThe X rotation in degrees which performs a horizontal rotational skew.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

local setRotationSkewX ( local  rotationX)
virtual

Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationXThe X rotation in degrees which performs a horizontal rotational skew.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

virtual float getRotationSkewX ( ) const
virtual

Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.

See also
setRotationSkewX(float)
Returns
The X rotation in degrees.
var getRotationX ( )
virtual

Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.

See also
setRotationSkewX(float)
Returns
The X rotation in degrees.
local getRotationSkewX ( )
virtual

Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.

See also
setRotationSkewX(float)
Returns
The X rotation in degrees.
virtual void setRotationSkewY ( float  rotationY)
virtual

Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationYThe Y rotation in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

var setRotationY ( var  rotationY)
virtual

Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationYThe Y rotation in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

local setRotationSkewY ( local  rotationY)
virtual

Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

The difference between setRotationalSkew() and setSkew() is that the first one simulate Flash's skew functionality, while the second one uses the real skew function.

0 is the default rotation angle. Positive values rotate node clockwise, and negative values for anti-clockwise.

Parameters
rotationYThe Y rotation in degrees.
Warning
The physics body doesn't support this.

Reimplemented in Sprite.

virtual float getRotationSkewY ( ) const
virtual

Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

See also
setRotationSkewY(float)
Returns
The Y rotation in degrees.
var getRotationY ( )
virtual

Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

See also
setRotationSkewY(float)
Returns
The Y rotation in degrees.
local getRotationSkewY ( )
virtual

Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.

See also
setRotationSkewY(float)
Returns
The Y rotation in degrees.
void setOrderOfArrival ( int  orderOfArrival)

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 localZOrder sorting, don't change this manually
Parameters
orderOfArrivalThe arrival order.
var setOrderOfArrival ( var  orderOfArrival)

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 localZOrder sorting, don't change this manually
Parameters
orderOfArrivalThe arrival order.
local setOrderOfArrival ( local  orderOfArrival)

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 localZOrder sorting, don't change this manually
Parameters
orderOfArrivalThe arrival order.
int getOrderOfArrival ( ) const

Returns the arrival order, indicates which children is added previously.

See also
setOrderOfArrival(unsigned int)
Returns
The arrival order.
var getOrderOfArrival ( )

Returns the arrival order, indicates which children is added previously.

See also
setOrderOfArrival(unsigned int)
Returns
The arrival order.
local getOrderOfArrival ( )

Returns the arrival order, indicates which children is added previously.

See also
setOrderOfArrival(unsigned int)
Returns
The arrival order.
void setGLServerState ( int  serverState)
inline
var setGLServerState ( var  serverState)
inline
int getGLServerState ( ) const
inline
var getGLServerState ( )
inline
virtual void
ignoreAnchorPointForPosition
( bool  ignore)
virtual

Sets whether the anchor point will be (0,0) when you position this node.

This is an internal method, only used by Layer and Scene. Don't call it outside framework. The default value is false, while in Layer and Scene are true.

Parameters
ignoretrue if anchor point will be (0,0) when you position this node.

Reimplemented in Sprite.

var ignoreAnchorPointForPosition ( var  ignore)
virtual

Sets whether the anchor point will be (0,0) when you position this node.

This is an internal method, only used by Layer and Scene. Don't call it outside framework. The default value is false, while in Layer and Scene are true.

Parameters
ignoretrue if anchor point will be (0,0) when you position this node.

Reimplemented in Sprite.

local ignoreAnchorPointForPosition ( local  ignore)
virtual

Sets whether the anchor point will be (0,0) when you position this node.

This is an internal method, only used by Layer and Scene. Don't call it outside framework. The default value is false, while in Layer and Scene are true.

Parameters
ignoretrue if anchor point will be (0,0) when you position this node.

Reimplemented in Sprite.

virtual bool
isIgnoreAnchorPointForPosition
( ) const
virtual

Gets whether the anchor point will be (0,0) when you position this node.

See also
ignoreAnchorPointForPosition(bool)
Returns
true if the anchor point will be (0,0) when you position this node.
var isIgnoreAnchorPointForPosition ( )
virtual

Gets whether the anchor point will be (0,0) when you position this node.

See also
ignoreAnchorPointForPosition(bool)
Returns
true if the anchor point will be (0,0) when you position this node.
local
isIgnoreAnchorPointForPosition
( )
virtual

Gets whether the anchor point will be (0,0) when you position this node.

See also
ignoreAnchorPointForPosition(bool)
Returns
true if the anchor point will be (0,0) when you position this node.
virtual void addChild ( Node child)
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
childA child node.

Reimplemented in Layout, ScrollView, ListView, and Menu.

var addChild ( var  child)
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
childA child node.

Reimplemented in Layout, ScrollView, ListView, and Menu.

local addChild ( local  child)
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
childA child node.

Reimplemented in Layout, ScrollView, ListView, and Menu.

virtual void addChild ( Node child,
int  localZOrder 
)
virtual

Adds a child to the container with a local z-order.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Layout, ScrollView, ListView, and Menu.

var addChild ( var  child,
var  localZOrder 
)
virtual

Adds a child to the container with a local z-order.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Layout, ScrollView, ListView, and Menu.

local addChild ( local  child,
local  localZOrder 
)
virtual

Adds a child to the container with a local z-order.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Layout, ScrollView, ListView, and Menu.

virtual void addChild ( Node child,
int  localZOrder,
int  tag 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
tagAn integer to identify the node easily. Please refer to setTag(int).

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented in Label, Sprite, Layout, ScrollView, TMXLayer, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

var addChild ( var  child,
var  localZOrder,
var  tag 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
tagAn integer to identify the node easily. Please refer to setTag(int).

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented in Label, Sprite, Layout, ScrollView, TMXLayer, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

local addChild ( local  child,
local  localZOrder,
local  tag 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
tagAn integer to identify the node easily. Please refer to setTag(int).

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented in Label, Sprite, Layout, ScrollView, TMXLayer, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

virtual void addChild ( Node child,
int  localZOrder,
const std::string &  name 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
nameA string to identify the node easily. Please refer to setName(int).

Reimplemented in Sprite, Layout, ScrollView, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

var addChild ( var  child,
var  localZOrder,
var  name 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
nameA string to identify the node easily. Please refer to setName(int).

Reimplemented in Sprite, Layout, ScrollView, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

local addChild ( local  child,
local  localZOrder,
local  name 
)
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
childA child node.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
nameA string to identify the node easily. Please refer to setName(int).

Reimplemented in Sprite, Layout, ScrollView, ScrollView, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, and ParallaxNode.

virtual Node* getChildByTag ( int  tag) const
virtual

Gets a child from the container with its tag.

Parameters
tagAn identifier to find the child node.
Returns
a Node object whose tag equals to the input parameter.

Please use getChildByName() instead.

Reimplemented in ScrollView.

var getChildByTag ( var  tag)
virtual

Gets a child from the container with its tag.

Parameters
tagAn identifier to find the child node.
Returns
a Node object whose tag equals to the input parameter.

Please use getChildByName() instead.

Reimplemented in ScrollView.

local getChildByTag ( local  tag)
virtual

Gets a child from the container with its tag.

Parameters
tagAn identifier to find the child node.
Returns
a Node object whose tag equals to the input parameter.

Please use getChildByName() instead.

Reimplemented in ScrollView.

virtual Node* getChildByName ( const std::string &  name) const
virtual

Gets a child from the container with its name.

Parameters
nameAn identifier to find the child node.
Returns
a Node object whose name equals to the input parameter.
Since
v3.2

Reimplemented in ScrollView.

var getChildByName ( var  name)
virtual

Gets a child from the container with its name.

Parameters
nameAn identifier to find the child node.
Returns
a Node object whose name equals to the input parameter.
Since
v3.2

Reimplemented in ScrollView.

local getChildByName ( local  name)
virtual

Gets a child from the container with its name.

Parameters
nameAn identifier to find the child node.
Returns
a Node object whose name equals to the input parameter.
Since
v3.2

Reimplemented in ScrollView.

T getChildByName ( const std::string &  name) const
inline

Gets a child from the container with its name that can be cast to Type T.

Parameters
nameAn identifier to find the child node.
Returns
a Node with the given name that can be cast to Type T.
var getChildByName ( var  name)
inline

Gets a child from the container with its name that can be cast to Type T.

Parameters
nameAn identifier to find the child node.
Returns
a Node with the given name that can be cast to Type T.
local getChildByName ( local  name)
inline

Gets a child from the container with its name that can be cast to Type T.

Parameters
nameAn identifier to find the child node.
Returns
a Node with the given name that can be cast to Type T.
virtual void enumerateChildren ( const std::string &  name,
std::function< bool(Node *node)>  callback 
) const
virtual

Search the children of the receiving node to perform processing for nodes which share a name.

Parameters
nameThe name to search for, supports c++11 regular expression. Search syntax options: //: Can only be placed at the begin of the search string. This indicates that it will search recursively. ..: The search should move up to the node's parent. Can only be placed at the end of string. / : When placed anywhere but the start of the search string, this indicates that the search should move to the node's children.
enumerateChildren("//MyName", ...): This searches the children recursively and matches any node with the name `MyName`.
enumerateChildren("[[:alnum:]]+", ...): This search string matches every node of its children.
enumerateChildren("A[[:digit:]]", ...): This searches the node's children and returns any child named `A0`, `A1`, ..., `A9`.
enumerateChildren("Abby/Normal", ...): This searches the node's grandchildren and returns any node whose name is `Normal`
and whose parent is named `Abby`.
enumerateChildren("//Abby/Normal", ...): This searches recursively and returns any node whose name is `Normal` and whose
parent is named `Abby`.
Warning
Only support alpha or number for name, and not support unicode.
Parameters
callbackA callback function to execute on nodes that match the name parameter. The function takes the following arguments: node A node that matches the name And returns a boolean result. Your callback can return true to terminate the enumeration.
Since
v3.2
var enumerateChildren ( var  name,
var  callback 
)
virtual

Search the children of the receiving node to perform processing for nodes which share a name.

Parameters
nameThe name to search for, supports c++11 regular expression. Search syntax options: //: Can only be placed at the begin of the search string. This indicates that it will search recursively. ..: The search should move up to the node's parent. Can only be placed at the end of string. / : When placed anywhere but the start of the search string, this indicates that the search should move to the node's children.
enumerateChildren("//MyName", ...): This searches the children recursively and matches any node with the name `MyName`.
enumerateChildren("[[:alnum:]]+", ...): This search string matches every node of its children.
enumerateChildren("A[[:digit:]]", ...): This searches the node's children and returns any child named `A0`, `A1`, ..., `A9`.
enumerateChildren("Abby/Normal", ...): This searches the node's grandchildren and returns any node whose name is `Normal`
and whose parent is named `Abby`.
enumerateChildren("//Abby/Normal", ...): This searches recursively and returns any node whose name is `Normal` and whose
parent is named `Abby`.
Warning
Only support alpha or number for name, and not support unicode.
Parameters
callbackA callback function to execute on nodes that match the name parameter. The function takes the following arguments: node A node that matches the name And returns a boolean result. Your callback can return true to terminate the enumeration.
Since
v3.2
local enumerateChildren ( local  name,
local  callback 
)
virtual

Search the children of the receiving node to perform processing for nodes which share a name.

Parameters
nameThe name to search for, supports c++11 regular expression. Search syntax options: //: Can only be placed at the begin of the search string. This indicates that it will search recursively. ..: The search should move up to the node's parent. Can only be placed at the end of string. / : When placed anywhere but the start of the search string, this indicates that the search should move to the node's children.
enumerateChildren("//MyName", ...): This searches the children recursively and matches any node with the name `MyName`.
enumerateChildren("[[:alnum:]]+", ...): This search string matches every node of its children.
enumerateChildren("A[[:digit:]]", ...): This searches the node's children and returns any child named `A0`, `A1`, ..., `A9`.
enumerateChildren("Abby/Normal", ...): This searches the node's grandchildren and returns any node whose name is `Normal`
and whose parent is named `Abby`.
enumerateChildren("//Abby/Normal", ...): This searches recursively and returns any node whose name is `Normal` and whose
parent is named `Abby`.
Warning
Only support alpha or number for name, and not support unicode.
Parameters
callbackA callback function to execute on nodes that match the name parameter. The function takes the following arguments: node A node that matches the name And returns a boolean result. Your callback can return true to terminate the enumeration.
Since
v3.2
virtual Vector<Node*>& getChildren ( )
inlinevirtual

Returns the array of the node's children.

Returns
the array the node's children.

Reimplemented in ScrollView.

var getChildren ( )
inlinevirtual

Returns the array of the node's children.

Returns
the array the node's children.

Reimplemented in ScrollView.

local getChildren ( )
inlinevirtual

Returns the array of the node's children.

Returns
the array the node's children.

Reimplemented in ScrollView.

virtual ssize_t getChildrenCount ( ) const
virtual

Returns the amount of children.

Returns
The amount of children.

Reimplemented in ScrollView.

var getChildrenCount ( )
virtual

Returns the amount of children.

Returns
The amount of children.

Reimplemented in ScrollView.

local getChildrenCount ( )
virtual

Returns the amount of children.

Returns
The amount of children.

Reimplemented in ScrollView.

virtual void setParent ( Node parent)
virtual

Sets the parent node.

Parameters
parentA pointer to the parent node.
var setParent ( var  parent)
virtual

Sets the parent node.

Parameters
parentA pointer to the parent node.
local setParent ( local  parent)
virtual

Sets the parent node.

Parameters
parentA pointer to the parent node.
virtual Node* getParent ( )
inlinevirtual

Returns a pointer to the parent node.

See also
setParent(Node*)
Returns
A pointer to the parent node.
var getParent ( )
inlinevirtual

Returns a pointer to the parent node.

See also
setParent(Node*)
Returns
A pointer to the parent node.
local getParent ( )
inlinevirtual

Returns a pointer to the parent node.

See also
setParent(Node*)
Returns
A pointer to the parent node.
virtual void removeFromParent ( )
virtual

Removes this node itself from its parent node with a cleanup.

If the node orphan, then nothing happens.

See also
removeFromParentAndCleanup(bool)
var removeFromParent ( )
virtual

Removes this node itself from its parent node with a cleanup.

If the node orphan, then nothing happens.

See also
removeFromParentAndCleanup(bool)
local removeFromParent ( )
virtual

Removes this node itself from its parent node with a cleanup.

If the node orphan, then nothing happens.

See also
removeFromParentAndCleanup(bool)
virtual void
removeFromParentAndCleanup
( bool  cleanup)
virtual

Removes this node itself from its parent node.

If the node orphan, then nothing happens.

Parameters
cleanuptrue if all actions and callbacks on this node should be removed, false otherwise.
var removeFromParent ( var  cleanup)
virtual

Removes this node itself from its parent node.

If the node orphan, then nothing happens.

Parameters
cleanuptrue if all actions and callbacks on this node should be removed, false otherwise.
local removeFromParent ( local  cleanup)
virtual

Removes this node itself from its parent node.

If the node orphan, then nothing happens.

Parameters
cleanuptrue if all actions and callbacks on this node should be removed, false otherwise.
virtual void removeChild ( Node child,
bool  cleanup = true 
)
virtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented in Sprite, Layout, ScrollView, TMXLayer, TMXLayer, ListView, SpriteBatchNode, Menu, ParticleBatchNode, and ParallaxNode.

var removeChild ( var  child,
var  cleanup = true 
)
virtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented in Sprite, Layout, ScrollView, TMXLayer, TMXLayer, ListView, SpriteBatchNode, Menu, ParticleBatchNode, and ParallaxNode.

local removeChild ( local  child,
local  cleanup = true 
)
virtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented in Sprite, Layout, ScrollView, TMXLayer, TMXLayer, ListView, SpriteBatchNode, Menu, ParticleBatchNode, and ParallaxNode.

virtual void removeChildByTag ( int  tag,
bool  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
tagAn interger number that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Please use removeChildByName instead.

var removeChildByTag ( var  tag,
var  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
tagAn interger number that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Please use removeChildByName instead.

local removeChildByTag ( local  tag,
local  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
tagAn interger number that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Please use removeChildByName instead.

virtual void removeChildByName ( const std::string &  name,
bool  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
nameA string that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.
var removeChildByName ( var  name,
var  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
nameA string that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.
local removeChildByName ( local  name,
local  cleanup = true 
)
virtual

Removes a child from the container by tag value.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
nameA string that identifies a child node.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.
virtual void removeAllChildren ( )
virtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented in Layout, ScrollView, ListView, and Scene.

var removeAllChildren ( )
virtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented in Layout, ScrollView, ListView, and Scene.

local removeAllChildren ( )
virtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented in Layout, ScrollView, ListView, and Scene.

virtual void
removeAllChildrenWithCleanup
( bool  cleanup)
virtual

Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.

Parameters
cleanupTrue if all running actions on all children nodes should be cleanup, false oterwise.

Reimplemented in Sprite, Layout, ScrollView, ListView, SpriteBatchNode, ParticleBatchNode, and ParallaxNode.

var removeAllChildren ( var  cleanup)
virtual

Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.

Parameters
cleanupTrue if all running actions on all children nodes should be cleanup, false oterwise.

Reimplemented in Sprite, Layout, ScrollView, ListView, SpriteBatchNode, ParticleBatchNode, and ParallaxNode.

local removeAllChildren ( local  cleanup)
virtual

Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.

Parameters
cleanupTrue if all running actions on all children nodes should be cleanup, false oterwise.

Reimplemented in Sprite, Layout, ScrollView, ListView, SpriteBatchNode, ParticleBatchNode, and ParallaxNode.

virtual void reorderChild ( Node child,
int  localZOrder 
)
virtual

Reorders a child according to a new z value.

Parameters
childAn already added child node. It MUST be already added.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Sprite, SpriteBatchNode, and ParticleBatchNode.

var reorderChild ( var  child,
var  localZOrder 
)
virtual

Reorders a child according to a new z value.

Parameters
childAn already added child node. It MUST be already added.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Sprite, SpriteBatchNode, and ParticleBatchNode.

local reorderChild ( local  child,
local  localZOrder 
)
virtual

Reorders a child according to a new z value.

Parameters
childAn already added child node. It MUST be already added.
localZOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented in Sprite, SpriteBatchNode, and ParticleBatchNode.

virtual void sortAllChildren ( )
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 Label, Sprite, and SpriteBatchNode.

var sortAllChildren ( )
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 Label, Sprite, and SpriteBatchNode.

local sortAllChildren ( )
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 Label, Sprite, and SpriteBatchNode.

virtual int getTag ( ) const
virtual

Returns a tag that is used to identify the node easily.

Returns
An integer that identifies the node.

Please use getTag() instead.

var getTag ( )
virtual

Returns a tag that is used to identify the node easily.

Returns
An integer that identifies the node.

Please use getTag() instead.

local getTag ( )
virtual

Returns a tag that is used to identify the node easily.

Returns
An integer that identifies the node.

Please use getTag() instead.

virtual void setTag ( int  tag)
virtual

Changes the tag that is used to identify the node easily.

Please refer to getTag for the sample code.

Parameters
tagA integer that identifies the node.

Please use setName() instead.

var setTag ( var  tag)
virtual

Changes the tag that is used to identify the node easily.

Please refer to getTag for the sample code.

Parameters
tagA integer that identifies the node.

Please use setName() instead.

local setTag ( local  tag)
virtual

Changes the tag that is used to identify the node easily.

Please refer to getTag for the sample code.

Parameters
tagA integer that identifies the node.

Please use setName() instead.

virtual std::string getName ( ) const
virtual

Returns a string that is used to identify the node.

Returns
A string that identifies the node.
Since
v3.2
var getName ( )
virtual

Returns a string that is used to identify the node.

Returns
A string that identifies the node.
Since
v3.2
local getName ( )
virtual

Returns a string that is used to identify the node.

Returns
A string that identifies the node.
Since
v3.2
virtual void setName ( const std::string &  name)
virtual

Changes the name that is used to identify the node easily.

Parameters
nameA string that identifies the node.
Since
v3.2
var setName ( var  name)
virtual

Changes the name that is used to identify the node easily.

Parameters
nameA string that identifies the node.
Since
v3.2
local setName ( local  name)
virtual

Changes the name that is used to identify the node easily.

Parameters
nameA string that identifies the node.
Since
v3.2
virtual void* getUserData ( )
inlinevirtual

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.
var getUserData ( )
inlinevirtual

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 void setUserData ( void *  userData)
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 memory manually, especially before you change this data pointer, and before this node is autoreleased.
Parameters
userDataA custom user data pointer.
var setUserData ( var  userData)
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 memory manually, especially before you change this data pointer, and before this node is autoreleased.
Parameters
userDataA custom user data pointer.
virtual Ref* getUserObject ( )
inlinevirtual

Returns a user assigned Object.

Similar to userData, but instead of holding a void* it holds an object.

Returns
A user assigned Object.
var getUserObject ( )
inlinevirtual

Returns a user assigned Object.

Similar to userData, but instead of holding a void* it holds an object.

Returns
A user assigned Object.
virtual void setUserObject ( Ref userObject)
virtual

Returns a user assigned Object.

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 released. The UserObject will be released in Node's destructor.

Parameters
userObjectA user assigned Object.
var setUserObject ( var  userObject)
virtual

Returns a user assigned Object.

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 released. The UserObject will be released in Node's destructor.

Parameters
userObjectA user assigned Object.
local setUserObject ( local  userObject)
virtual

Returns a user assigned Object.

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 released. The UserObject will be released in Node's destructor.

Parameters
userObjectA user assigned Object.
GLProgram* getGLProgram ( ) const

Return the GLProgram (shader) currently used for this node.

Returns
The GLProgram (shader) currently used for this node.
var getGLProgram ( )

Return the GLProgram (shader) currently used for this node.

Returns
The GLProgram (shader) currently used for this node.
local getGLProgram ( )

Return the GLProgram (shader) currently used for this node.

Returns
The GLProgram (shader) currently used for this node.
virtual void setGLProgram ( GLProgram glprogram)
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
glprogramThe shader program.

Reimplemented in Sprite3D.

var setGLProgram ( var  glprogram)
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
glprogramThe shader program.

Reimplemented in Sprite3D.

local setGLProgram ( local  glprogram)
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
glprogramThe shader program.

Reimplemented in Sprite3D.

GLProgramState* getGLProgramState ( ) const

Return the GLProgramState currently used for this node.

Returns
The GLProgramState currently used for this node.
var getGLProgramState ( )

Return the GLProgramState currently used for this node.

Returns
The GLProgramState currently used for this node.
local getGLProgramState ( )

Return the GLProgramState currently used for this node.

Returns
The GLProgramState currently used for this node.
virtual void setGLProgramState ( GLProgramState glProgramState)
virtual

Set the GLProgramState for this node.

Parameters
glProgramStateThe GLProgramState for this node.

Reimplemented in Sprite3D.

var setGLProgramState ( var  glProgramState)
virtual

Set the GLProgramState for this node.

Parameters
glProgramStateThe GLProgramState for this node.

Reimplemented in Sprite3D.

local setGLProgramState ( local  glProgramState)
virtual

Set the GLProgramState for this node.

Parameters
glProgramStateThe GLProgramState for this node.

Reimplemented in Sprite3D.

virtual bool isRunning ( ) const
virtual

Returns whether or not the node is "running".

If the node is running it will accept event callbacks like onEnter(), onExit(), update().

Returns
Whether or not the node is running.
var isRunning ( )
virtual

Returns whether or not the node is "running".

If the node is running it will accept event callbacks like onEnter(), onExit(), update().

Returns
Whether or not the node is running.
local isRunning ( )
virtual

Returns whether or not the node is "running".

If the node is running it will accept event callbacks like onEnter(), onExit(), update().

Returns
Whether or not the node is running.
void scheduleUpdateWithPriorityLua ( int  handler,
int  priority 
)

Schedules for lua script.

@ @

local scheduleUpdateWithPriorityLua ( local  handler,
local  priority 
)

Schedules for lua script.

@ @

virtual void onEnter ( )
virtual

Event callback that is invoked every time when Node enters the 'stage'.

If the Node 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., Node::onEnter().

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, TransitionZoomFlipAngular, ParticleSystem, TransitionZoomFlipY, TransitionZoomFlipX, Widget, TransitionFlipAngular, Scale9Sprite, TransitionFlipY, TextField, TransitionFlipX, TransitionShrinkGrow, EditBox, Layout, ScrollView, TransitionSlideInL, TransitionMoveInL, TransitionJumpZoom, PageView, TransitionRotoZoom, Camera, Menu, ProtectedNode, ClippingNode, TransitionScene, TransitionPageTurn, TransitionProgress, and UICCTextField.

var onEnter ( )
virtual

Event callback that is invoked every time when Node enters the 'stage'.

If the Node 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., Node::onEnter().

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, TransitionZoomFlipAngular, ParticleSystem, TransitionZoomFlipY, TransitionZoomFlipX, Widget, TransitionFlipAngular, Scale9Sprite, TransitionFlipY, TextField, TransitionFlipX, TransitionShrinkGrow, EditBox, Layout, ScrollView, TransitionSlideInL, TransitionMoveInL, TransitionJumpZoom, PageView, TransitionRotoZoom, Camera, Menu, ProtectedNode, ClippingNode, TransitionScene, TransitionPageTurn, TransitionProgress, and UICCTextField.

virtual void
onEnterTransitionDidFinish
( )
virtual

Event callback that is invoked when the Node enters in the 'stage'.

If the Node 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. Node::onEnterTransitionDidFinish()

Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.

var onEnterTransitionDidFinish ( )
virtual

Event callback that is invoked when the Node enters in the 'stage'.

If the Node 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. Node::onEnterTransitionDidFinish()

Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.

virtual void onExit ( )
virtual

Event callback that is invoked every time the Node leaves the 'stage'.

If the Node 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., Node::onExit().

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, ParticleSystem, Widget, Scale9Sprite, EditBox, Layout, Camera, Menu, ProtectedNode, ClippingNode, TransitionScene, TransitionPageTurn, MenuItem, and TransitionProgress.

var onExit ( )
virtual

Event callback that is invoked every time the Node leaves the 'stage'.

If the Node 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., Node::onExit().

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, ParticleSystem, Widget, Scale9Sprite, EditBox, Layout, Camera, Menu, ProtectedNode, ClippingNode, TransitionScene, TransitionPageTurn, MenuItem, and TransitionProgress.

virtual void
onExitTransitionDidStart
( )
virtual

Event callback that is called every time the Node leaves the 'stage'.

If the Node leaves the 'stage' with a transition, this callback is called when the transition starts.

Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.

var onExitTransitionDidStart ( )
virtual

Event callback that is called every time the Node leaves the 'stage'.

If the Node leaves the 'stage' with a transition, this callback is called when the transition starts.

Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.

virtual void draw ( Renderer *  renderer,
const Mat4 transform,
uint32_t  flags 
)
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.
Parameters
rendererA given renderer.
transformA transform matrix.
flagsRenderer flag.

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, Label, Sprite, LayerColor, Terrain, DrawNode, RenderTexture, TMXLayer, SpriteBatchNode, WebView, Sprite3D, VideoPlayer, ProgressTimer, ParticleSystemQuad, ParticleBatchNode, MotionStreak, TransitionScene, BillBoard, AtlasNode, TransitionPageTurn, and Skybox.

var draw ( var  renderer,
var  transform,
var  flags 
)
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.
Parameters
rendererA given renderer.
transformA transform matrix.
flagsRenderer flag.

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, Label, Sprite, LayerColor, Terrain, DrawNode, RenderTexture, TMXLayer, SpriteBatchNode, WebView, Sprite3D, VideoPlayer, ProgressTimer, ParticleSystemQuad, ParticleBatchNode, MotionStreak, TransitionScene, BillBoard, AtlasNode, TransitionPageTurn, and Skybox.

local draw ( local  renderer,
local  transform,
local  flags 
)
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.
Parameters
rendererA given renderer.
transformA transform matrix.
flagsRenderer flag.

Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, Label, Sprite, LayerColor, Terrain, DrawNode, RenderTexture, TMXLayer, SpriteBatchNode, WebView, Sprite3D, VideoPlayer, ProgressTimer, ParticleSystemQuad, ParticleBatchNode, MotionStreak, TransitionScene, BillBoard, AtlasNode, TransitionPageTurn, and Skybox.

virtual void visit ( Renderer *  renderer,
const Mat4 parentTransform,
uint32_t  parentFlags 
)
virtual

Visits this node's children and draw them recursively.

Parameters
rendererA given renderer.
parentTransformA transform matrix.
parentFlagsRenderer flag.

Reimplemented in Scale9Sprite, Label, EditBox, Layout, Widget, RenderTexture, ScrollView, TextFieldTTF, Sprite3D, SpriteBatchNode, ProtectedNode, ClippingNode, ParticleBatchNode, BillBoard, ClippingRectangleNode, ParallaxNode, NodeGrid, and AttachNode.

var visit ( var  renderer,
var  parentTransform,
var  parentFlags 
)
virtual

Visits this node's children and draw them recursively.

Parameters
rendererA given renderer.
parentTransformA transform matrix.
parentFlagsRenderer flag.

Reimplemented in Scale9Sprite, Label, EditBox, Layout, Widget, RenderTexture, ScrollView, TextFieldTTF, Sprite3D, SpriteBatchNode, ProtectedNode, ClippingNode, ParticleBatchNode, BillBoard, ClippingRectangleNode, ParallaxNode, NodeGrid, and AttachNode.

local visit ( local  renderer,
local  parentTransform,
local  parentFlags 
)
virtual

Visits this node's children and draw them recursively.

Parameters
rendererA given renderer.
parentTransformA transform matrix.
parentFlagsRenderer flag.

Reimplemented in Scale9Sprite, Label, EditBox, Layout, Widget, RenderTexture, ScrollView, TextFieldTTF, Sprite3D, SpriteBatchNode, ProtectedNode, ClippingNode, ParticleBatchNode, BillBoard, ClippingRectangleNode, ParallaxNode, NodeGrid, and AttachNode.

virtual Scene* getScene ( ) const
virtual

Returns the Scene that contains the Node.

It returns nullptr if the node doesn't belong to any Scene. This function recursively calls parent->getScene() until parent is a Scene object. The results are not cached. It is that the user caches the results in case this functions is being used inside a loop.

Returns
The Scene that contains the node.
var getScene ( )
virtual

Returns the Scene that contains the Node.

It returns nullptr if the node doesn't belong to any Scene. This function recursively calls parent->getScene() until parent is a Scene object. The results are not cached. It is that the user caches the results in case this functions is being used inside a loop.

Returns
The Scene that contains the node.
local getScene ( )
virtual

Returns the Scene that contains the Node.

It returns nullptr if the node doesn't belong to any Scene. This function recursively calls parent->getScene() until parent is a Scene object. The results are not cached. It is that the user caches the results in case this functions is being used inside a loop.

Returns
The Scene that contains the node.
virtual Rect getBoundingBox ( ) const
virtual

Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.

Returns
An AABB (axis-aligned bounding-box) in its parent's coordinate system

Reimplemented in Label, and Sprite3D.

var getBoundingBox ( )
virtual

Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.

Returns
An AABB (axis-aligned bounding-box) in its parent's coordinate system

Reimplemented in Label, and Sprite3D.

local getBoundingBox ( )
virtual

Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.

Returns
An AABB (axis-aligned bounding-box) in its parent's coordinate system

Reimplemented in Label, and Sprite3D.

virtual Rect boundingBox ( ) const
inlinevirtual
var boundingBox ( )
inlinevirtual
local boundingBox ( )
inlinevirtual
virtual void setEventDispatcher ( EventDispatcher dispatcher)
virtual

Set event dispatcher for scene.

Parameters
dispatcherThe event dispatcher of scene.
var setEventDispatcher ( var  dispatcher)
virtual

Set event dispatcher for scene.

Parameters
dispatcherThe event dispatcher of scene.
local setEventDispatcher ( local  dispatcher)
virtual

Set event dispatcher for scene.

Parameters
dispatcherThe event dispatcher of scene.
virtual EventDispatcher*
getEventDispatcher
( ) const
inlinevirtual

Get the event dispatcher of scene.

Returns
The event dispatcher of scene.
var getEventDispatcher ( )
inlinevirtual

Get the event dispatcher of scene.

Returns
The event dispatcher of scene.
local getEventDispatcher ( )
inlinevirtual

Get the event dispatcher of scene.

Returns
The event dispatcher of scene.
virtual void setActionManager ( ActionManager actionManager)
virtual

Sets the ActionManager object that is used by all actions.

Warning
If you set a new ActionManager, then previously created actions will be removed.
Parameters
actionManagerA ActionManager object that is used by all actions.
var setActionManager ( var  actionManager)
virtual

Sets the ActionManager object that is used by all actions.

Warning
If you set a new ActionManager, then previously created actions will be removed.
Parameters
actionManagerA ActionManager object that is used by all actions.
local setActionManager ( local  actionManager)
virtual

Sets the ActionManager object that is used by all actions.

Warning
If you set a new ActionManager, then previously created actions will be removed.
Parameters
actionManagerA ActionManager object that is used by all actions.
virtual ActionManager*
getActionManager
( )
inlinevirtual

Gets the ActionManager object that is used by all actions.

See also
setActionManager(ActionManager*)
Returns
A ActionManager object.
var getActionManager ( )
inlinevirtual

Gets the ActionManager object that is used by all actions.

See also
setActionManager(ActionManager*)
Returns
A ActionManager object.
local getActionManager ( )
inlinevirtual

Gets the ActionManager object that is used by all actions.

See also
setActionManager(ActionManager*)
Returns
A ActionManager object.
virtual Action* runAction ( Action action)
virtual

Executes an action, and returns the action that is executed.

This node becomes the action's target. Refer to Action::getTarget().

Warning
Actions don't retain their target.
Parameters
actionAn Action pointer.

Reimplemented in Sprite3D.

var runAction ( var  action)
virtual

Executes an action, and returns the action that is executed.

This node becomes the action's target. Refer to Action::getTarget().

Warning
Actions don't retain their target.
Parameters
actionAn Action pointer.

Reimplemented in Sprite3D.

local runAction ( local  action)
virtual

Executes an action, and returns the action that is executed.

This node becomes the action's target. Refer to Action::getTarget().

Warning
Actions don't retain their target.
Parameters
actionAn Action pointer.

Reimplemented in Sprite3D.

void stopAction ( Action action)

Stops and removes an action from the running action list.

Parameters
actionThe action object to be removed.
var stopAction ( var  action)

Stops and removes an action from the running action list.

Parameters
actionThe action object to be removed.
local stopAction ( local  action)

Stops and removes an action from the running action list.

Parameters
actionThe action object to be removed.
void stopActionByTag ( int  tag)

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

Parameters
tagA tag that indicates the action to be removed.
var stopActionByTag ( var  tag)

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

Parameters
tagA tag that indicates the action to be removed.
local stopActionByTag ( local  tag)

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

Parameters
tagA tag that indicates the action to be removed.
void stopAllActionsByTag ( int  tag)

Removes all actions from the running action list by its tag.

Parameters
tagA tag that indicates the action to be removed.
var stopAllActionsByTag ( var  tag)

Removes all actions from the running action list by its tag.

Parameters
tagA tag that indicates the action to be removed.
local stopAllActionsByTag ( local  tag)

Removes all actions from the running action list by its tag.

Parameters
tagA tag that indicates the action to be removed.
Action* 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.
var getActionByTag ( var  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.
local getActionByTag ( local  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.
ssize_t getNumberOfRunningActions ( ) const

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
The number of actions that are running plus the ones that are schedule to run.
var getNumberOfRunningActions ( )

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
The number of actions that are running plus the ones that are schedule to run.
local getNumberOfRunningActions ( )

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
The number of actions that are running plus the ones that are schedule to run.
ssize_t numberOfRunningActions ( ) const
inline
var numberOfRunningActions ( )
inline
local numberOfRunningActions ( )
inline
virtual void setScheduler ( Scheduler scheduler)
virtual

Sets a Scheduler object that is used to schedule all "updates" and timers.

Warning
If you set a new Scheduler, then previously created timers/update are going to be removed.
Parameters
schedulerA Shdeduler object that is used to schedule all "update" and timers.
var setScheduler ( var  scheduler)
virtual

Sets a Scheduler object that is used to schedule all "updates" and timers.

Warning
If you set a new Scheduler, then previously created timers/update are going to be removed.
Parameters
schedulerA Shdeduler object that is used to schedule all "update" and timers.
local setScheduler ( local  scheduler)
virtual

Sets a Scheduler object that is used to schedule all "updates" and timers.

Warning
If you set a new Scheduler, then previously created timers/update are going to be removed.
Parameters
schedulerA Shdeduler object that is used to schedule all "update" and timers.
virtual Scheduler* getScheduler ( )
inlinevirtual

Gets a Sheduler object.

See also
setScheduler(Scheduler*)
Returns
A Scheduler object.
var getScheduler ( )
inlinevirtual

Gets a Sheduler object.

See also
setScheduler(Scheduler*)
Returns
A Scheduler object.
local getScheduler ( )
inlinevirtual

Gets a Sheduler object.

See also
setScheduler(Scheduler*)
Returns
A Scheduler object.
bool isScheduled ( SEL_SCHEDULE  selector)

Checks whether a selector is scheduled.

Parameters
selectorA function selector
Returns
Whether the funcion selector is scheduled.
bool isScheduled ( const std::string &  key)

Checks whether a lambda function is scheduled.

Parameters
keykey of the callback
Returns
Whether the lambda function selector is scheduled.
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.

var scheduleUpdate (   )

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).

@

var scheduleUpdateWithPriority ( var  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 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.

// firstly, implement a schedule function
void MyNode::TickMe(float dt);
// wrap this function into a selector via schedule_selector marco.
this->schedule(CC_SCHEDULE_SELECTOR(MyNode::TickMe), 0, 0, 0);
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
intervalTick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead.
repeatThe selector will be excuted (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely.
delayThe amount of time that the first tick will wait before execution.
var schedule ( var  selector,
var  interval,
var  repeat,
var  delay 
)

Schedules a custom selector.

If the selector is already scheduled, then the interval parameter will be updated without scheduling it again.

// firstly, implement a schedule function
void MyNode::TickMe(float dt);
// wrap this function into a selector via schedule_selector marco.
this->schedule(CC_SCHEDULE_SELECTOR(MyNode::TickMe), 0, 0, 0);
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
intervalTick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead.
repeatThe selector will be excuted (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely.
delayThe 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.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
intervalCallback interval time in seconds. 0 means tick every frame,
var schedule ( var  selector,
var  interval 
)

Schedules a custom selector with an interval time in seconds.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
intervalCallback interval time in seconds. 0 means tick every frame,
void scheduleOnce ( SEL_SCHEDULE  selector,
float  delay 
)

Schedules a selector that runs only once, with a delay of 0 or larger.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
delayThe amount of time that the first tick will wait before execution.
var scheduleOnce ( var  selector,
var  delay 
)

Schedules a selector that runs only once, with a delay of 0 or larger.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorThe SEL_SCHEDULE selector to be scheduled.
delayThe amount of time that the first tick will wait before execution.
void scheduleOnce ( const std::function< void(float)> &  callback,
float  delay,
const std::string &  key 
)

Schedules a lambda function that runs only once, with a delay of 0 or larger.

Parameters
callbackThe lambda function to be scheduled.
delayThe amount of time that the first tick will wait before execution.
keyThe key of the lambda function. To be used if you want to unschedule it.
var scheduleOnce ( var  callback,
var  delay,
var  key 
)

Schedules a lambda function that runs only once, with a delay of 0 or larger.

Parameters
callbackThe lambda function to be scheduled.
delayThe amount of time that the first tick will wait before execution.
keyThe key of the lambda function. To be used if you want to unschedule it.
void schedule ( SEL_SCHEDULE  selector)

Schedules a custom selector, the scheduled selector will be ticked every frame.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorA function wrapped as a selector
var schedule ( var  selector)

Schedules a custom selector, the scheduled selector will be ticked every frame.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorA function wrapped as a selector
void schedule ( const std::function< void(float)> &  callback,
const std::string &  key 
)

Schedules a lambda function.

The scheduled lambda function will be called every frame.

Parameters
callbackThe lambda function to be scheduled.
keyThe key of the lambda function. To be used if you want to unschedule it.
var schedule ( var  callback,
var  key 
)

Schedules a lambda function.

The scheduled lambda function will be called every frame.

Parameters
callbackThe lambda function to be scheduled.
keyThe key of the lambda function. To be used if you want to unschedule it.
void schedule ( const std::function< void(float)> &  callback,
float  interval,
const std::string &  key 
)

Schedules a lambda function.

The scheduled lambda function will be called every "interval" seconds

Parameters
callbackThe lambda function to be scheduled
intervalCallback interval time in seconds. 0 means every frame,
keyThe key of the lambda function. To be used if you want to unschedule it
var schedule ( var  callback,
var  interval,
var  key 
)

Schedules a lambda function.

The scheduled lambda function will be called every "interval" seconds

Parameters
callbackThe lambda function to be scheduled
intervalCallback interval time in seconds. 0 means every frame,
keyThe key of the lambda function. To be used if you want to unschedule it
void schedule ( const std::function< void(float)> &  callback,
float  interval,
unsigned int  repeat,
float  delay,
const std::string &  key 
)

Schedules a lambda function.

Parameters
callbackThe lambda function to be schedule.
intervalTick interval in seconds. 0 means tick every frame.
repeatThe selector will be executed (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely.
delayThe amount of time that the first tick will wait before execution.
keyThe key of the lambda function. To be used if you want to unschedule it.
var schedule ( var  callback,
var  interval,
var  repeat,
var  delay,
var  key 
)

Schedules a lambda function.

Parameters
callbackThe lambda function to be schedule.
intervalTick interval in seconds. 0 means tick every frame.
repeatThe selector will be executed (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely.
delayThe amount of time that the first tick will wait before execution.
keyThe key of the lambda function. To be used if you want to unschedule it.
void unschedule ( SEL_SCHEDULE  selector)

Unschedules a custom selector.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorA function wrapped as a selector.
var unschedule ( var  selector)

Unschedules a custom selector.

See also
schedule(SEL_SCHEDULE, float, unsigned int, float)
Parameters
selectorA function wrapped as a selector.
void unschedule ( const std::string &  key)

Unschedules a lambda function.

Parameters
keyThe key of the lambda function to be unscheduled.
var unschedule ( var  key)

Unschedules a lambda function.

Parameters
keyThe key of the lambda function to be unscheduled.
void unscheduleAllCallbacks ( )

Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions.

Actions are not affected by this method.

var unscheduleAllCallbacks ( )

Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions.

Actions are not affected by this method.

virtual void resume ( void  )
virtual

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

Reimplemented in VideoPlayer.

var resume (   )
virtual

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

Reimplemented in VideoPlayer.

local resume (   )
virtual

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

Reimplemented in VideoPlayer.

virtual void pause ( void  )
virtual

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

Reimplemented in VideoPlayer.

var pause (   )
virtual

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

Reimplemented in VideoPlayer.

local pause (   )
virtual

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

Reimplemented in VideoPlayer.

void resumeSchedulerAndActions ( )

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

var resumeSchedulerAndActions ( )

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

local resumeSchedulerAndActions ( )

Resumes all scheduled selectors, actions and event listeners.

This method is called internally by onEnter.

void pauseSchedulerAndActions ( )

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

var pauseSchedulerAndActions ( )

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

local pauseSchedulerAndActions ( )

Pauses all scheduled selectors, actions and event listeners.

This method is called internally by onExit.

virtual void update ( float  delta)
virtual

Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".

Parameters
deltaIn seconds.

Reimplemented in ParticleSystem, TextField, ScrollView, PageView, and MotionStreak.

var update ( var  delta)
virtual

Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".

Parameters
deltaIn seconds.

Reimplemented in ParticleSystem, TextField, ScrollView, PageView, and MotionStreak.

local update ( local  delta)
virtual

Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live".

Parameters
deltaIn seconds.

Reimplemented in ParticleSystem, TextField, ScrollView, PageView, and MotionStreak.

virtual void updateTransform ( )
virtual

Calls children's updateTransform() method recursively.

This method is moved from Sprite, so it's no longer specific to Sprite. As the result, you apply SpriteBatchNode's optimization on your customed Node. e.g., batchNode->addChild(myCustomNode), while you can only addChild(sprite) before.

Reimplemented in Sprite.

var updateTransform ( )
virtual

Calls children's updateTransform() method recursively.

This method is moved from Sprite, so it's no longer specific to Sprite. As the result, you apply SpriteBatchNode's optimization on your customed Node. e.g., batchNode->addChild(myCustomNode), while you can only addChild(sprite) before.

Reimplemented in Sprite.

local updateTransform ( )
virtual

Calls children's updateTransform() method recursively.

This method is moved from Sprite, so it's no longer specific to Sprite. As the result, you apply SpriteBatchNode's optimization on your customed Node. e.g., batchNode->addChild(myCustomNode), while you can only addChild(sprite) before.

Reimplemented in Sprite.

virtual const Mat4&
getNodeToParentTransform
( ) const
virtual

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

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

var getNodeToParentTransform ( )
virtual

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

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

local getNodeToParentTransform ( )
virtual

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

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

virtual void
setNodeToParentTransform
( const Mat4 transform)
virtual

Sets the transformation matrix manually.

Parameters
transformA given transformation matrix.
var setNodeToParentTransform ( var  transform)
virtual

Sets the transformation matrix manually.

Parameters
transformA given transformation matrix.
local setNodeToParentTransform ( local  transform)
virtual

Sets the transformation matrix manually.

Parameters
transformA given transformation matrix.
virtual AffineTransform
nodeToParentTransform
( ) const
inlinevirtual
var nodeToParentTransform ( )
inlinevirtual
local nodeToParentTransform ( )
inlinevirtual
virtual const Mat4&
getParentToNodeTransform
( ) const
virtual

Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.

The matrix is in Pixels.

Returns
The transformation matrix.
var getParentToNodeTransform ( )
virtual

Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.

The matrix is in Pixels.

Returns
The transformation matrix.
local getParentToNodeTransform ( )
virtual

Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.

The matrix is in Pixels.

Returns
The transformation matrix.
virtual AffineTransform
parentToNodeTransform
( ) const
inlinevirtual
var parentToNodeTransform ( )
inlinevirtual
local parentToNodeTransform ( )
inlinevirtual
virtual Mat4
getNodeToWorldTransform
( ) const
virtual

Returns the world affine transform matrix.

The matrix is in Pixels.

Returns
transformation matrix, in pixels.

Reimplemented in AttachNode.

var getNodeToWorldTransform ( )
virtual

Returns the world affine transform matrix.

The matrix is in Pixels.

Returns
transformation matrix, in pixels.

Reimplemented in AttachNode.

local getNodeToWorldTransform ( )
virtual

Returns the world affine transform matrix.

The matrix is in Pixels.

Returns
transformation matrix, in pixels.

Reimplemented in AttachNode.

virtual AffineTransform
nodeToWorldTransform
( ) const
inlinevirtual
var nodeToWorldTransform ( )
inlinevirtual
local nodeToWorldTransform ( )
inlinevirtual
virtual Mat4
getWorldToNodeTransform
( ) const
virtual

Returns the inverse world affine transform matrix.

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

var getWorldToNodeTransform ( )
virtual

Returns the inverse world affine transform matrix.

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

local getWorldToNodeTransform ( )
virtual

Returns the inverse world affine transform matrix.

The matrix is in Pixels.

Returns
The transformation matrix.

Reimplemented in AttachNode.

virtual AffineTransform
worldToNodeTransform
( ) const
inlinevirtual
var worldToNodeTransform ( )
inlinevirtual
local worldToNodeTransform ( )
inlinevirtual
Vec2 convertToNodeSpace ( const Vec2 worldPoint) const

Converts a Vec2 to node (local) space coordinates.

The result is in Points.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates.
var convertToNodeSpace ( var  worldPoint)

Converts a Vec2 to node (local) space coordinates.

The result is in Points.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates.
local convertToNodeSpace ( local  worldPoint)

Converts a Vec2 to node (local) space coordinates.

The result is in Points.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates.
Vec2 convertToWorldSpace ( const Vec2 nodePoint) const

Converts a Vec2 to world space coordinates.

The result is in Points.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates.
var convertToWorldSpace ( var  nodePoint)

Converts a Vec2 to world space coordinates.

The result is in Points.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates.
local convertToWorldSpace ( local  nodePoint)

Converts a Vec2 to world space coordinates.

The result is in Points.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates.
Vec2 convertToNodeSpaceAR ( const Vec2 worldPoint) const

Converts a Vec2 to node (local) space coordinates.

The result is in Points. treating the returned/received node point as anchor relative.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates, anchor relative.
var convertToNodeSpaceAR ( var  worldPoint)

Converts a Vec2 to node (local) space coordinates.

The result is in Points. treating the returned/received node point as anchor relative.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates, anchor relative.
local convertToNodeSpaceAR ( local  worldPoint)

Converts a Vec2 to node (local) space coordinates.

The result is in Points. treating the returned/received node point as anchor relative.

Parameters
worldPointA given coordinate.
Returns
A point in node (local) space coordinates, anchor relative.
Vec2 convertToWorldSpaceAR ( const Vec2 nodePoint) const

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

treating the returned/received node point as anchor relative.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates, anchor relative.
var convertToWorldSpaceAR ( var  nodePoint)

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

treating the returned/received node point as anchor relative.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates, anchor relative.
local convertToWorldSpaceAR ( local  nodePoint)

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

treating the returned/received node point as anchor relative.

Parameters
nodePointA given coordinate.
Returns
A point in world space coordinates, anchor relative.
Vec2 convertTouchToNodeSpace ( Touch touch) const

convenience methods which take a Touch instead of Vec2.

Parameters
touchA given touch.
Returns
A point in world space coordinates.
var convertTouchToNodeSpace ( var  touch)

convenience methods which take a Touch instead of Vec2.

Parameters
touchA given touch.
Returns
A point in world space coordinates.
local convertTouchToNodeSpace ( local  touch)

convenience methods which take a Touch instead of Vec2.

Parameters
touchA given touch.
Returns
A point in world space coordinates.
Vec2 convertTouchToNodeSpaceAR ( Touch touch) const

converts a Touch (world coordinates) into a local coordinate.

This method is AR (Anchor Relative).

Parameters
touchA given touch.
Returns
A point in world space coordinates, anchor relative.
var convertTouchToNodeSpaceAR ( var  touch)

converts a Touch (world coordinates) into a local coordinate.

This method is AR (Anchor Relative).

Parameters
touchA given touch.
Returns
A point in world space coordinates, anchor relative.
local convertTouchToNodeSpaceAR ( local  touch)

converts a Touch (world coordinates) into a local coordinate.

This method is AR (Anchor Relative).

Parameters
touchA given touch.
Returns
A point in world space coordinates, anchor relative.
void setAdditionalTransform ( Mat4 additionalTransform)

Sets an additional transform matrix to the node.

In order to remove it, call it again with the argument nullptr.

Note
The additional transform will be concatenated at the end of getNodeToParentTransform. It could be used to simulate parent-child relationship between two nodes (e.g. one is in BatchNode, another isn't).
Parameters
additionalTransformAn additional transform matrix.
var setAdditionalTransform ( var  additionalTransform)

Sets an additional transform matrix to the node.

In order to remove it, call it again with the argument nullptr.

Note
The additional transform will be concatenated at the end of getNodeToParentTransform. It could be used to simulate parent-child relationship between two nodes (e.g. one is in BatchNode, another isn't).
Parameters
additionalTransformAn additional transform matrix.
local setAdditionalTransform ( local  additionalTransform)

Sets an additional transform matrix to the node.

In order to remove it, call it again with the argument nullptr.

Note
The additional transform will be concatenated at the end of getNodeToParentTransform. It could be used to simulate parent-child relationship between two nodes (e.g. one is in BatchNode, another isn't).
Parameters
additionalTransformAn additional transform matrix.
Component* getComponent ( const std::string &  name)

Gets a component by its name.

Parameters
nameA given name of component.
Returns
The Component by name.
var getComponent ( var  name)

Gets a component by its name.

Parameters
nameA given name of component.
Returns
The Component by name.
local getComponent ( local  name)

Gets a component by its name.

Parameters
nameA given name of component.
Returns
The Component by name.
virtual bool addComponent ( Component *  component)
virtual

Adds a component.

Parameters
componentA given component.
Returns
True if added success.
var addComponent ( var  component)
virtual

Adds a component.

Parameters
componentA given component.
Returns
True if added success.
local addComponent ( local  component)
virtual

Adds a component.

Parameters
componentA given component.
Returns
True if added success.
virtual bool removeComponent ( const std::string &  name)
virtual

Removes a component by its name.

Parameters
nameA given name of component.
Returns
True if removed success.
var removeComponent ( var  name)
virtual

Removes a component by its name.

Parameters
nameA given name of component.
Returns
True if removed success.
local removeComponent ( local  name)
virtual

Removes a component by its name.

Parameters
nameA given name of component.
Returns
True if removed success.
virtual bool removeComponent ( Component *  component)
virtual

Removes a component by its pointer.

Parameters
componentA given component.
Returns
True if removed success.
var removeComponent ( var  component)
virtual

Removes a component by its pointer.

Parameters
componentA given component.
Returns
True if removed success.
local removeComponent ( local  component)
virtual

Removes a component by its pointer.

Parameters
componentA given component.
Returns
True if removed success.
void setPhysicsBody ( PhysicsBody body)

Set the PhysicsBody that let the sprite effect with physics.

Note
This method will set anchor point to Vec2::ANCHOR_MIDDLE if body not null, and you cann't change anchor point if node has a physics body.
Parameters
bodyA given physics body.
var setPhysicsBody ( var  body)

Set the PhysicsBody that let the sprite effect with physics.

Note
This method will set anchor point to Vec2::ANCHOR_MIDDLE if body not null, and you cann't change anchor point if node has a physics body.
Parameters
bodyA given physics body.
local setPhysicsBody ( local  body)

Set the PhysicsBody that let the sprite effect with physics.

Note
This method will set anchor point to Vec2::ANCHOR_MIDDLE if body not null, and you cann't change anchor point if node has a physics body.
Parameters
bodyA given physics body.
PhysicsBody* getPhysicsBody ( ) const
inline

Get the PhysicsBody the sprite have.

Returns
The PhysicsBody the sprite have.
var getPhysicsBody ( )
inline

Get the PhysicsBody the sprite have.

Returns
The PhysicsBody the sprite have.
local getPhysicsBody ( )
inline

Get the PhysicsBody the sprite have.

Returns
The PhysicsBody the sprite have.
void removeFromPhysicsWorld ( )

Remove this node from physics world.

it will remove all the physics bodies in it's children too.

var removeFromPhysicsWorld ( )

Remove this node from physics world.

it will remove all the physics bodies in it's children too.

local removeFromPhysicsWorld ( )

Remove this node from physics world.

it will remove all the physics bodies in it's children too.


The documentation for this class was generated from the following file: