cocos2d-x
3.3
|
Node is the base element of the Scene Graph. More...
#include <CCNode.h>
Public Types | |
enum | { FLAGS_TRANSFORM_DIRTY = (1 << 0), FLAGS_CONTENT_SIZE_DIRTY = (1 << 1), FLAGS_DIRTY_MASK = (FLAGS_TRANSFORM_DIRTY | FLAGS_CONTENT_SIZE_DIRTY) } |
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. More... | |
virtual void | draw (Renderer *renderer, const Mat4 &transform, uint32_t flags) |
Override this method to draw your own node. More... | |
virtual void | draw () final |
virtual void | visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) |
Visits this node's children and draw them recursively. More... | |
virtual void | visit () final |
virtual Scene * | getScene () const |
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 |
virtual void | setEventDispatcher (EventDispatcher *dispatcher) |
virtual EventDispatcher * | getEventDispatcher () const |
void | setPhysicsBody (PhysicsBody *body) |
set the PhysicsBody that let the sprite effect with physics More... | |
PhysicsBody * | getPhysicsBody () const |
get the PhysicsBody the sprite have More... | |
void | removeFromPhysicsWorld () |
remove this node from physics world. More... | |
virtual GLubyte | getOpacity () const |
virtual GLubyte | getDisplayedOpacity () const |
virtual void | setOpacity (GLubyte opacity) |
virtual void | updateDisplayedOpacity (GLubyte parentOpacity) |
virtual bool | isCascadeOpacityEnabled () const |
virtual void | setCascadeOpacityEnabled (bool cascadeOpacityEnabled) |
virtual const Color3B & | getColor () const |
virtual const Color3B & | getDisplayedColor () const |
virtual void | setColor (const Color3B &color) |
virtual void | updateDisplayedColor (const Color3B &parentColor) |
virtual bool | isCascadeColorEnabled () const |
virtual void | setCascadeColorEnabled (bool cascadeColorEnabled) |
virtual void | setOpacityModifyRGB (bool value) |
virtual bool | isOpacityModifyRGB () const |
void | setOnEnterCallback (const std::function< void()> &callback) |
const std::function< void()> & | getOnEnterCallback () const |
void | setOnExitCallback (const std::function< void()> &callback) |
const std::function< void()> & | getOnExitCallback () const |
void | setonEnterTransitionDidFinishCallback (const std::function< void()> &callback) |
const std::function< void()> & | getonEnterTransitionDidFinishCallback () const |
void | setonExitTransitionDidStartCallback (const std::function< void()> &callback) |
const std::function< void()> & | getonExitTransitionDidStartCallback () const |
unsigned short | getCameraMask () const |
get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true More... | |
void | setCameraMask (unsigned short mask, bool applyChildren=true) |
virtual | ~Node () |
virtual bool | init () |
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) |
virtual int | getLocalZOrder () const |
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... | |
virtual float | getGlobalZOrder () const |
Returns the Node's Global Z Order. More... | |
virtual void | setScaleX (float 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... | |
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... | |
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... | |
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... | |
virtual void | setPosition (const Vec2 &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... | |
virtual const Vec2 & | getPosition () const |
Gets the position (x,y) of the node in its parent's coordinate system. More... | |
virtual const Vec2 & | getNormalizedPosition () const |
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... | |
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 |
virtual void | setPositionY (float y) |
virtual float | getPositionY (void) const |
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... | |
virtual void | setVertexZ (float vertexZ) |
virtual float | getPositionZ () const |
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... | |
virtual float | getSkewX () const |
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... | |
virtual float | getSkewY () const |
Returns the Y skew angle of the node in degrees. More... | |
virtual void | setAnchorPoint (const Vec2 &anchorPoint) |
Sets the anchor point in percent. More... | |
virtual const Vec2 & | getAnchorPoint () const |
Returns the anchor point in percent. More... | |
virtual const Vec2 & | getAnchorPointInPoints () const |
Returns the anchorPoint in absolute pixels. More... | |
virtual void | setContentSize (const Size &contentSize) |
Sets the untransformed size of the node. More... | |
virtual const Size & | getContentSize () const |
Returns the untransformed size of the node. More... | |
virtual void | setVisible (bool 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... | |
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... | |
virtual Vec3 | getRotation3D () const |
returns the rotation (X,Y,Z) in degrees. More... | |
virtual void | setRotationSkewX (float rotationX) |
Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More... | |
virtual void | setRotationX (float rotationX) |
virtual float | getRotationSkewX () const |
Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More... | |
virtual float | getRotationX () const |
virtual void | setRotationSkewY (float rotationY) |
Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More... | |
virtual void | setRotationY (float rotationY) |
virtual float | getRotationSkewY () const |
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) |
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... | |
virtual void | addChild (Node *child, int 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... | |
virtual void | addChild (Node *child, int localZOrder, const std::string &name) |
Adds a child to the container with z order and tag. More... | |
virtual Node * | getChildByTag (int tag) const |
Gets a child from the container with its tag. More... | |
virtual Node * | getChildByName (const std::string &name) const |
Gets a child from the container with its name. More... | |
template<typename T > | |
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... | |
virtual const Vector< Node * > & | getChildren () const |
virtual ssize_t | getChildrenCount () const |
Returns the amount of children. More... | |
virtual void | setParent (Node *parent) |
Sets the parent node. More... | |
virtual Node * | getParent () |
Returns a pointer to the parent node. More... | |
virtual const Node * | getParent () 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... | |
virtual void | removeChild (Node *child, bool cleanup=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... | |
virtual void | removeChildByName (const std::string &name, bool cleanup=true) |
Removes a child from the container by tag value. More... | |
virtual void | 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... | |
virtual void | reorderChild (Node *child, int 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... | |
virtual std::string | getName () const |
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... | |
virtual void * | getUserData () |
Returns a custom user data pointer. More... | |
virtual const void * | getUserData () const |
NA NA More... | |
virtual void | setUserData (void *userData) |
Sets a custom user data pointer. More... | |
virtual Ref * | getUserObject () |
Returns a user assigned Object. More... | |
virtual const Ref * | getUserObject () const |
NA NA More... | |
virtual void | setUserObject (Ref *userObject) |
Returns a user assigned Object. More... | |
GLProgram | |
GLProgram * | getGLProgram () const |
Return the GLProgram (shader) currently used for this node. More... | |
GLProgram * | getShaderProgram () const |
GLProgramState * | getGLProgramState () const |
virtual void | setGLProgramState (GLProgramState *glProgramState) |
virtual void | setGLProgram (GLProgram *glprogram) |
Sets the shader program for this node. More... | |
void | setShaderProgram (GLProgram *glprogram) |
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... | |
virtual ActionManager * | getActionManager () |
Gets the ActionManager object that is used by all actions. More... | |
virtual const ActionManager * | getActionManager () const |
Action * | runAction (Action *action) |
Executes an action, and returns the action that is executed. More... | |
void | stopAllActions () |
Stops and removes all actions from the running action list . More... | |
void | stopAction (Action *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... | |
void | stopAllActionsByTag (int tag) |
Removes all actions from the running action list by its tag. More... | |
Action * | getActionByTag (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... | |
ssize_t | numberOfRunningActions () const |
Scheduler and Timer | |
virtual void | setScheduler (Scheduler *scheduler) |
Sets a Scheduler object that is used to schedule all "updates" and timers. More... | |
virtual Scheduler * | getScheduler () |
Gets a Sheduler object. More... | |
virtual const Scheduler * | getScheduler () 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... | |
void | unscheduleUpdate (void) |
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... | |
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... | |
void | unschedule (SEL_SCHEDULE 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 Actions are not affected by this method. More... | |
void | unscheduleAllSelectors () |
virtual void | resume (void) |
Resumes all scheduled selectors, actions and event listeners. More... | |
virtual void | pause (void) |
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... | |
virtual void | update (float delta) |
Transformations | |
virtual void | updateTransform () |
Calls children's updateTransform() method recursively. More... | |
virtual const Mat4 & | getNodeToParentTransform () const |
Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More... | |
virtual AffineTransform | getNodeToParentAffineTransform () const |
virtual void | setNodeToParentTransform (const Mat4 &transform) |
Sets the Transformation matrix manually. More... | |
virtual AffineTransform | nodeToParentTransform () const |
virtual const Mat4 & | getParentToNodeTransform () const |
Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More... | |
virtual AffineTransform | getParentToNodeAffineTransform () const |
virtual AffineTransform | parentToNodeTransform () const |
virtual Mat4 | getNodeToWorldTransform () const |
Returns the world affine transform matrix. More... | |
virtual AffineTransform | getNodeToWorldAffineTransform () const |
virtual AffineTransform | nodeToWorldTransform () const |
virtual Mat4 | getWorldToNodeTransform () const |
Returns the inverse world affine transform matrix. More... | |
virtual AffineTransform | getWorldToNodeAffineTransform () const |
virtual AffineTransform | worldToNodeTransform () const |
Coordinate Converters | |
Vec2 | convertToNodeSpace (const Vec2 &worldPoint) const |
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) |
component functions | |
Component * | getComponent (const std::string &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 More... | |
![]() | |
void | retain () |
Retains the ownership. More... | |
void | release () |
Releases the ownership immediately. More... | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. More... | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. More... | |
virtual | ~Ref () |
NA NA More... | |
Public Attributes | |
CC_CONSTRUCTOR_ACCESS | __pad0__: Node() |
Static Public Attributes | |
static const int | INVALID_TAG = -1 |
Default tag used for all the nodes. More... | |
Protected Member Functions | |
void | childrenAlloc (void) |
lazy allocs More... | |
void | insertChild (Node *child, int z) |
helper that reorder a child More... | |
void | detachChild (Node *child, ssize_t index, bool doCleanup) |
Removes a child, call child->onExit(), do cleanup, remove it from children array. More... | |
Vec2 | convertToWindowSpace (const Vec2 &nodePoint) const |
Convert cocos2d coordinates to UI windows coordinate. More... | |
Mat4 | transform (const Mat4 &parentTransform) |
uint32_t | processParentFlags (const Mat4 &parentTransform, uint32_t parentFlags) |
virtual void | updateCascadeOpacity () |
virtual void | disableCascadeOpacity () |
virtual void | updateCascadeColor () |
virtual void | disableCascadeColor () |
virtual void | updateColor () |
bool | doEnumerate (std::string name, std::function< bool(Node *)> callback) const |
bool | doEnumerateRecursive (const Node *node, const std::string &name, std::function< bool(Node *)> callback) const |
bool | isVisitableByVisitingCamera () const |
void | updatePhysicsBodyTransform (Scene *layer) |
virtual void | updatePhysicsBodyPosition (Scene *layer) |
virtual void | updatePhysicsBodyRotation (Scene *layer) |
virtual void | updatePhysicsBodyScale (Scene *scene) |
![]() | |
Ref () | |
Constructor. More... | |
Protected Attributes | |
float | _rotationX |
rotation on the X-axis More... | |
float | _rotationY |
rotation on the Y-axis More... | |
float | _rotationZ_X |
rotation angle on Z-axis, component X More... | |
float | _rotationZ_Y |
rotation angle on Z-axis, component Y More... | |
float | _scaleX |
scaling factor on x-axis More... | |
float | _scaleY |
scaling factor on y-axis More... | |
float | _scaleZ |
scaling factor on z-axis More... | |
Vec2 | _position |
position of the node More... | |
float | _positionZ |
OpenGL real Z position. More... | |
Vec2 | _normalizedPosition |
bool | _usingNormalizedPosition |
bool | _normalizedPositionDirty |
float | _skewX |
skew angle on x-axis More... | |
float | _skewY |
skew angle on y-axis More... | |
Vec2 | _anchorPointInPoints |
anchor point in points More... | |
Vec2 | _anchorPoint |
anchor point normalized (NOT in points) More... | |
Size | _contentSize |
untransformed size of the node More... | |
bool | _contentSizeDirty |
whether or not the contentSize is dirty More... | |
Mat4 | _modelViewTransform |
ModelView transform of the Node. More... | |
Mat4 | _transform |
transform More... | |
bool | _transformDirty |
transform dirty flag More... | |
Mat4 | _inverse |
inverse transform More... | |
bool | _inverseDirty |
inverse transform dirty flag More... | |
Mat4 | _additionalTransform |
transform More... | |
bool | _useAdditionalTransform |
The flag to check whether the additional transform is dirty. More... | |
bool | _transformUpdated |
Whether or not the Transform object was updated since the last frame. More... | |
int | _localZOrder |
Local order (relative to its siblings) used to sort the node. More... | |
float | _globalZOrder |
Global order used to sort the node. More... | |
Vector< Node * > | _children |
array of children nodes More... | |
Node * | _parent |
weak reference to parent node More... | |
int | _tag |
a tag. Can be any number you assigned just to identify this node More... | |
std::string | _name |
a string label, an user defined string to identify this node More... | |
size_t | _hashOfName |
hash value of _name, used for speed in getChildByName More... | |
void * | _userData |
A user assingned void pointer, Can be point to any cpp object. More... | |
Ref * | _userObject |
A user assigned Object. More... | |
GLProgramState * | _glProgramState |
OpenGL Program State. More... | |
int | _orderOfArrival |
used to preserve sequence while sorting children with the same localZOrder More... | |
Scheduler * | _scheduler |
scheduler used to schedule timers and updates More... | |
ActionManager * | _actionManager |
a pointer to ActionManager singleton, which is used to handle all the actions More... | |
EventDispatcher * | _eventDispatcher |
event dispatcher used to dispatch all kinds of events More... | |
bool | _running |
is running More... | |
bool | _visible |
is this node visible More... | |
bool | _ignoreAnchorPointForPosition |
true if the Anchor Vec2 will be (0,0) when you position the Node, false otherwise. More... | |
bool | _reorderChildDirty |
children order dirty flag More... | |
bool | _isTransitionFinished |
flag to indicate whether the transition was finished More... | |
ComponentContainer * | _componentContainer |
Dictionary of components. More... | |
PhysicsBody * | _physicsBody |
the physicsBody the node have More... | |
float | _physicsScaleStartX |
the scale x value when setPhysicsBody More... | |
float | _physicsScaleStartY |
the scale y value when setPhysicsBody More... | |
GLubyte | _displayedOpacity |
GLubyte | _realOpacity |
Color3B | _displayedColor |
Color3B | _realColor |
bool | _cascadeColorEnabled |
bool | _cascadeOpacityEnabled |
unsigned short | _cameraMask |
std::function< void()> | _onEnterCallback |
std::function< void()> | _onExitCallback |
std::function< void()> | _onEnterTransitionDidFinishCallback |
std::function< void()> | _onExitTransitionDidStartCallback |
![]() | |
unsigned int | _referenceCount |
count of references More... | |
Static Protected Attributes | |
static int | s_globalOrderOfArrival |
Friends | |
class | Layer |
Constructor, Destructor and Initializers | |
static Node * | create () |
Allocates and initializes a node. More... | |
virtual std::string | getDescription () const |
Gets the description string. More... | |
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:
addChild
, getChildByTag
, removeChild
, etc)schedule
, unschedule
, etc)runAction
, stopAction
, etc)Subclassing a Node usually means (one/all) of:
draw
to render the nodeProperties of Node:
Limitations:
|
virtual |
|
virtual |
|
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.
child | A child node |
Reimplemented in ScrollView, Layout, ListView, and Menu.
|
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.
child | A child node |
zOrder | Z order for drawing priority. Please refer to setLocalZOrder(int) |
Reimplemented in ScrollView, Layout, ListView, and Menu.
|
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.
child | A child node |
zOrder | Z order for drawing priority. Please refer to setLocalZOrder(int) |
tag | An 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 Sprite, ScrollView, Label, ScrollView, Layout, TMXLayer, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, ParallaxNode, and BatchNode.
|
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.
child | A child node |
zOrder | Z order for drawing priority. Please refer to setLocalZOrder(int) |
name | A string to identify the node easily. Please refer to setName(int) |
Reimplemented in Sprite, ScrollView, ScrollView, Layout, ListView, SpriteBatchNode, Menu, Scene, ParticleBatchNode, ParallaxNode, and BatchNode.
|
virtual |
adds a component
|
inlinevirtual |
|
protected |
lazy allocs
|
virtual |
Stops all running actions and schedulers.
Reimplemented in Scale9Sprite, ProtectedNode, and TransitionScene.
Converts a Vec2 to node (local) space coordinates.
The result is in Points.
Converts a Vec2 to node (local) space coordinates.
The result is in Points. treating the returned/received node point as anchor relative.
converts a Touch (world coordinates) into a local coordinate.
This method is AR (Anchor Relative).
Convert cocos2d coordinates to UI windows coordinate.
Converts a Vec2 to world space coordinates.
The result is in Points.
Converts a local Vec2 to world space coordinates.The result is in Points.
treating the returned/received node point as anchor relative.
|
static |
Allocates and initializes a node.
Removes a child, call child->onExit(), do cleanup, remove it from children array.
|
protectedvirtual |
Reimplemented in Scale9Sprite, and ProtectedNode.
|
protectedvirtual |
Reimplemented in Scale9Sprite, and ProtectedNode.
|
protected |
|
protected |
Override this method to draw your own node.
The following GL states will be enabled by default:
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);
AND YOU SHOULD NOT DISABLE THEM AFTER DRAWING YOUR NODE But if you enable any other GL state, you should disable it after drawing your node. Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, Sprite, Label, LayerColor, TMXLayer, RenderTexture, SpriteBatchNode, Sprite3D, DrawNode, ProgressTimer, ParticleSystemQuad, ParticleBatchNode, TransitionScene, BillBoard, MotionStreak, VideoPlayer, AtlasNode, TransitionPageTurn, and PhysicsDebugNode.
|
finalvirtual |
|
virtual |
Search the children of the receiving node to perform processing for nodes which share a name.
name | The 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. |
callback | A 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. |
Action* getActionByTag | ( | int | tag | ) |
Gets an action from the running action list by its tag.
setTag(int)
, getTag()
.
|
inlinevirtual |
Gets the ActionManager object that is used by all actions.
|
inlinevirtual |
|
virtual |
Returns the anchor point in percent.
setAnchorPoint(const Vec2&)
|
virtual |
Returns the anchorPoint in absolute pixels.
getAnchorPoint()
Reimplemented in Armature.
|
virtual |
Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system.
Reimplemented in Label, LabelTTF, Armature, LabelBMFont, Sprite3D, and SkeletonRenderer.
|
inline |
get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true
|
virtual |
Gets a child from the container with its name.
name | An identifier to find the child node. |
Reimplemented in ScrollView.
|
inline |
Gets a child from the container with its name that can be cast to Type T.
name | An identifier to find the child node. |
|
virtual |
Gets a child from the container with its tag.
tag | An identifier to find the child node. |
Please use getChildByName()
instead
Reimplemented in ScrollView, and LabelBMFont.
Returns the array of the node's children.
Reimplemented in ScrollView.
Reimplemented in ScrollView.
|
virtual |
|
virtual |
Reimplemented in __NodeRGBA, __LayerRGBA, ProgressTimer, and AtlasNode.
Component* getComponent | ( | const std::string & | name | ) |
gets a component by its name
|
virtual |
Returns the untransformed size of the node.
setContentSize(const Size&)
Reimplemented in Label, ScrollView, LabelTTF, and LabelBMFont.
|
virtual |
Gets the description string.
It makes debugging easier.
Reimplemented in Widget, LayerMultiplex, Sprite, LayerGradient, ScrollView, LayerColor, Label, Layout, Slider, CheckBox, TMXLayer, ListView, TextField, Button, TMXTiledMap, TMXLayer, PageView, Layer, LabelTTF, Text, SpriteBatchNode, Menu, LoadingBar, TMXTiledMap, LabelBMFont, ParticleSystemQuad, RichText, ImageView, TextAtlas, MenuItem, TextBMFont, LabelAtlas, and Scene.
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
inlinevirtual |
|
inlinevirtual |
GLProgram* getGLProgram | ( | ) | const |
GLProgramState* getGLProgramState | ( | ) | const |
|
inline |
|
inlinevirtual |
Gets the local Z order of this node.
setLocalZOrder(int)
|
virtual |
Returns a string that is used to identify the node.
|
virtual |
|
virtual |
Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates.
The matrix is in Pixels.
Reimplemented in Armature.
|
virtual |
|
virtual |
|
virtual |
returns the normalized position
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in __NodeRGBA, __LayerRGBA, ProgressTimer, and MotionStreak.
int getOrderOfArrival | ( | ) | const |
Returns the arrival order, indicates which children is added previously.
setOrderOfArrival(unsigned int)
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
virtual |
Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates.
The matrix is in Pixels.
PhysicsBody* getPhysicsBody | ( | ) | const |
get the PhysicsBody the sprite have
|
virtual |
Gets the position (x,y) of the node in its parent's coordinate system.
Reimplemented in MotionStreak.
|
virtual |
Gets position in a more efficient way, returns two number instead of a Vec2 object.
setPosition(float, float)
In js,out value not return Reimplemented in MotionStreak.
|
virtual |
returns the position (X,Y,Z) in its parent's coordinate system
|
virtual |
Reimplemented in MotionStreak.
|
virtual |
Reimplemented in MotionStreak.
|
virtual |
Gets position Z coordinate of this node.
|
virtual |
Returns the rotation of the node in degrees.
setRotation(float)
|
virtual |
returns the rotation (X,Y,Z) in degrees.
|
virtual |
Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew.
setRotationSkewX(float)
|
virtual |
Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew.
setRotationSkewY(float)
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Gets the scale factor of the node, when X and Y have the same scale factor.
_scaleX != _scaleY
Reimplemented in Scale9Sprite, and Widget.
|
virtual |
Returns the scale factor on X axis of this node.
Reimplemented in Scale9Sprite, Widget, and Label.
|
virtual |
Returns the scale factor on Y axis of this node.
setScaleY(float)
Reimplemented in Scale9Sprite, Widget, and Label.
|
virtual |
Returns the scale factor on Z axis of this node.
setScaleZ(float)
|
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.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
virtual |
Returns the X skew angle of the node in degrees.
setSkewX(float)
|
virtual |
Returns the Y skew angle of the node in degrees.
setSkewY(float)
|
virtual |
Returns a tag that is used to identify the node easily.
Please use getTag()
instead.
|
inlinevirtual |
Returns a custom user data pointer.
You can set everything in UserData pointer, a data block, a structure or an object.
|
inlinevirtual |
NA NA
|
inlinevirtual |
Returns a user assigned Object.
Similar to userData, but instead of holding a void* it holds an object
|
inlinevirtual |
NA NA
|
inlinevirtual |
|
virtual |
|
virtual |
Returns the inverse world affine transform matrix.
The matrix is in Pixels.
Reimplemented in AttachNode.
|
inlinevirtual |
|
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
ignore | true if anchor point will be (0,0) when you position this node |
Reimplemented in Sprite.
|
virtual |
Reimplemented in LayerMultiplex, Sprite, ParticleSystem, LayerGradient, LayerColor, Scale9Sprite, ControlButton, Control, SpriteBatchNode, Layer, Menu, DrawNode, ClippingNode, Armature, ScrollView, Scene, Bone, ControlColourPicker, and BatchNode.
|
protected |
helper that reorder a child
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
virtual |
Gets whether the anchor point will be (0,0) when you position this node.
|
inlinevirtual |
Reimplemented in __NodeRGBA, Sprite, ParticleSystem, Label, __LayerRGBA, Control, Menu, LabelBMFont, MotionStreak, SkeletonRenderer, and AtlasNode.
|
virtual |
bool isScheduled | ( | SEL_SCHEDULE | selector | ) |
Checks whether a selector is scheduled.
selector | A function selector |
bool isScheduled | ( | const std::string & | key | ) |
Checks whether a lambda function is scheduled.
key | key of the callback |
|
virtual |
Determines if the node is visible.
setVisible(bool)
|
protected |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
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(). NA NA
Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, TransitionZoomFlipAngular, TransitionZoomFlipY, Widget, TransitionZoomFlipX, TransitionFlipAngular, TransitionFlipY, TransitionFlipX, EditBox, TransitionShrinkGrow, ParticleSystem, ScrollView, TransitionSlideInL, Scale9Sprite, Layout, TransitionMoveInL, TextField, TransitionJumpZoom, PageView, Armature, TransitionRotoZoom, Camera, Menu, ProtectedNode, TransitionScene, ClippingNode, BaseLight, TransitionPageTurn, TransitionProgress, and UICCTextField.
|
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() NA NA
Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.
|
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(). NA NA
Reimplemented in TransitionFadeTR, TransitionSplitCols, TransitionTurnOffTiles, TransitionCrossFade, TransitionFade, Widget, EditBox, ParticleSystem, Scale9Sprite, Layout, Armature, ProtectedNode, Camera, Menu, ClippingNode, TransitionScene, MenuItem, BaseLight, TransitionPageTurn, and TransitionProgress.
|
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. NA NA
Reimplemented in Scale9Sprite, ProtectedNode, and ClippingNode.
|
inlinevirtual |
|
virtual |
Pauses all scheduled selectors, actions and event listeners.
This method is called internally by onExit
Reimplemented in VideoPlayer.
void pauseSchedulerAndActions | ( | ) |
Pauses all scheduled selectors, actions and event listeners.
This method is called internally by onExit
|
virtual |
Removes all children from the container with a cleanup.
Reimplemented in ScrollView, Layout, and ListView.
|
virtual |
Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.
cleanup | true if all running actions on all children nodes should be cleanup, false oterwise. removeAllChildren removeAllChildren |
Reimplemented in Sprite, Layout, ScrollView, ListView, SpriteBatchNode, ParticleBatchNode, and ParallaxNode.
|
virtual |
removes all components
|
virtual |
Removes a child from the container.
It will also cleanup all running actions depending on the cleanup parameter.
child | The child node which will be removed. |
cleanup | true if all running actions and callbacks on the child node will be cleanup, false otherwise. |
Reimplemented in Sprite, ScrollView, Layout, TMXLayer, TMXLayer, ListView, SpriteBatchNode, Menu, ParticleBatchNode, ParallaxNode, and BatchNode.
|
virtual |
Removes a child from the container by tag value.
It will also cleanup all running actions depending on the cleanup parameter
name | A string that identifies a child node |
cleanup | true if all running actions and callbacks on the child node will be cleanup, false otherwise. |
|
virtual |
Removes a child from the container by tag value.
It will also cleanup all running actions depending on the cleanup parameter
tag | An interger number that identifies a child node |
cleanup | true if all running actions and callbacks on the child node will be cleanup, false otherwise. |
Please use removeChildByName
instead.
|
virtual |
removes a component by its name
|
virtual |
removes a component by its pointer
|
virtual |
Removes this node itself from its parent node with a cleanup.
If the node orphan, then nothing happens.
removeFromParentAndCleanup(bool)
|
virtual |
Removes this node itself from its parent node.
If the node orphan, then nothing happens.
cleanup | true if all actions and callbacks on this node should be removed, false otherwise. removeFromParent removeFromParent |
void removeFromPhysicsWorld | ( | ) |
remove this node from physics world.
it will remove all the physics bodies in it's children too.
|
virtual |
Reorders a child according to a new z value.
child | An already added child node. It MUST be already added. |
localZOrder | Z order for drawing priority. Please refer to setLocalZOrder(int) |
Reimplemented in Sprite, SpriteBatchNode, and ParticleBatchNode.
|
virtual |
Resumes all scheduled selectors, actions and event listeners.
This method is called internally by onEnter
Reimplemented in VideoPlayer.
void resumeSchedulerAndActions | ( | ) |
Resumes all scheduled selectors, actions and event listeners.
This method is called internally by onEnter
Executes an action, and returns the action that is executed.
This node becomes the action's target. Refer to Action::getTarget()
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.
selector | The SEL_SCHEDULE selector to be scheduled. |
interval | Tick interval in seconds. 0 means tick every frame. If interval = 0, it's recommended to use scheduleUpdate() instead. |
repeat | The selector will be excuted (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely. |
delay | The amount of time that the first tick will wait before execution. NA |
void schedule | ( | SEL_SCHEDULE | selector, |
float | interval | ||
) |
Schedules a custom selector with an interval time in seconds.
selector | The SEL_SCHEDULE selector to be scheduled. |
interval | Callback interval time in seconds. 0 means tick every frame, NA |
void schedule | ( | SEL_SCHEDULE | selector | ) |
Schedules a custom selector, the scheduled selector will be ticked every frame.
selector | A function wrapped as a selector NA |
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
callback | The lambda function to be scheduled |
key | The key of the lambda function. To be used if you want to unschedule it NA |
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
callback | The lambda function to be scheduled |
interval | Callback interval time in seconds. 0 means every frame, |
key | The key of the lambda function. To be used if you want to unschedule it NA |
void schedule | ( | const std::function< void(float)> & | callback, |
float | interval, | ||
unsigned int | repeat, | ||
float | delay, | ||
const std::string & | key | ||
) |
Schedules a lambda function.
callback | The lambda function to be schedule |
interval | Tick interval in seconds. 0 means tick every frame. |
repeat | The selector will be executed (repeat + 1) times, you can use CC_REPEAT_FOREVER for tick infinitely. |
delay | The amount of time that the first tick will wait before execution. |
key | The key of the lambda function. To be used if you want to unschedule it NA |
void scheduleOnce | ( | SEL_SCHEDULE | selector, |
float | delay | ||
) |
Schedules a selector that runs only once, with a delay of 0 or larger.
selector | The SEL_SCHEDULE selector to be scheduled. |
delay | The amount of time that the first tick will wait before execution. NA |
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.
callback | The lambda function to be scheduled |
delay | The amount of time that the first tick will wait before execution. |
key | The key of the lambda function. To be used if you want to unschedule it NA |
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. NA NA
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). NA NA
void scheduleUpdateWithPriorityLua | ( | int | handler, |
int | priority | ||
) |
Schedules for lua script.
NA
|
virtual |
Sets the ActionManager object that is used by all actions.
actionManager | A ActionManager object that is used by all actions. |
void setAdditionalTransform | ( | Mat4 * | additionalTransform | ) |
Sets an additional transform matrix to the node.
In order to remove it, call it again with the argument nullptr
parent-child
relationship between two nodes (e.g. one is in BatchNode, another isn't). void setAdditionalTransform | ( | const AffineTransform & | additionalTransform | ) |
|
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.
anchorPoint | The anchor point of node. |
Reimplemented in Sprite, EditBox, Scale9Sprite, ProgressTimer, and RichText.
void setCameraMask | ( | unsigned short | mask, |
bool | applyChildren = true |
||
) |
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
virtual |
Reimplemented in __NodeRGBA, and __LayerRGBA.
|
virtual |
Reimplemented in __NodeRGBA, __LayerRGBA, ControlButton, LabelBMFont, ProgressTimer, AtlasNode, and ControlColourPicker.
|
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.
contentSize | The untransformed size of the node. |
Reimplemented in EditBox, Widget, LayerColor, Scale9Sprite, and ScrollView.
|
virtual |
|
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.
setLocalZOrder()
setVertexZ()
|
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.
shaderProgram | The shader program |
Reimplemented in Sprite3D.
|
virtual |
Reimplemented in Sprite3D.
|
inline |
|
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.
setGlobalZOrder
setVertexZ
Reimplemented in Bone.
|
virtual |
Changes the name that is used to identify the node easily.
name | A string that identifies the node. |
|
virtual |
Sets the Transformation matrix manually.
|
virtual |
Sets the position (x,y) using values between 0 and 1.
The positions in pixels is calculated like the following:
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in __NodeRGBA, __LayerRGBA, ControlButton, ProgressTimer, MotionStreak, and AtlasNode.
|
inlinevirtual |
Reimplemented in __NodeRGBA, Sprite, ParticleSystem, Label, __LayerRGBA, Control, Menu, LabelBMFont, MotionStreak, SkeletonRenderer, and AtlasNode.
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.
orderOfArrival | The arrival order. |
|
virtual |
Sets the parent node.
parent | A pointer to the parent node |
void setPhysicsBody | ( | PhysicsBody * | body | ) |
set the PhysicsBody that let the sprite effect with physics
|
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.
position | The position (x,y) of the node in OpenGL coordinates |
Reimplemented in Sprite, EditBox, Widget, and MotionStreak.
|
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++
x | X coordinate for position |
y | Y coordinate for position |
Reimplemented in Sprite, and MotionStreak.
|
virtual |
Sets the position (X, Y, and Z) in its parent's coordinate system.
Reimplemented in Camera.
|
virtual |
Gets/Sets x or y coordinate individually for position.
These methods are used in Lua and Javascript Bindings
Reimplemented in MotionStreak.
|
virtual |
Reimplemented in MotionStreak.
|
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.
setGlobalZValue()
vertexZ | OpenGL Z vertex of this node. |
Reimplemented in Sprite.
|
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.
rotation | The rotation of the node in degrees. |
Reimplemented in Sprite, and ParticleSystem.
|
virtual |
Sets the rotation (X,Y,Z) in degrees.
Useful for 3d rotations
|
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.
rotationX | The X rotation in degrees which performs a horizontal rotational skew. |
Reimplemented in Sprite.
|
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.
rotationY | The Y rotation in degrees. |
Reimplemented in Sprite.
|
inlinevirtual |
|
inlinevirtual |
|
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.
scale | The scale factor for both X and Y axis. |
Reimplemented in Sprite, Scale9Sprite, Widget, Label, and ParticleSystem.
|
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.
scaleX | The scale factor on X axis. |
scaleY | The scale factor on Y axis. |
Reimplemented in Sprite, Scale9Sprite, and Widget.
|
virtual |
Sets the scale (x) of the node.
It is a scaling factor that multiplies the width of the node and its children.
scaleX | The scale factor on X axis. |
Reimplemented in Sprite, Scale9Sprite, Widget, Label, and ParticleSystem.
|
virtual |
Sets the scale (y) of the node.
It is a scaling factor that multiplies the height of the node and its children.
scaleY | The scale factor on Y axis. |
Reimplemented in Sprite, Scale9Sprite, Widget, Label, and ParticleSystem.
|
virtual |
Changes the scale factor on Z axis of this node.
The Default value is 1.0 if you haven't changed it before.
scaleY | The scale factor on Y axis. |
|
virtual |
|
inline |
|
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.
skewX | The X skew angle of the node in degrees. |
Reimplemented in Sprite.
|
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.
skewY | The Y skew angle of the node in degrees. |
Reimplemented in Sprite.
|
virtual |
Changes the tag that is used to identify the node easily.
Please refer to getTag for the sample code.
tag | A integer that identifies the node. |
Please use setName()
instead.
|
virtual |
Sets a custom user data pointer.
You can set everything in UserData pointer, a data block, a structure or an object, etc.
userData | A custom user data pointer NA NA |
|
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.
userObject | A user assigned Object |
|
inlinevirtual |
|
virtual |
Sets whether the node is visible.
The default value is true, a node is default to visible
visible | true if the node is visible, false if the node is hidden. |
Reimplemented in Sprite, EditBox, WebView, and VideoPlayer.
|
inlinevirtual |
|
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.
Reimplemented in Sprite, Label, and SpriteBatchNode.
void stopAction | ( | Action * | action | ) |
Stops and removes an action from the running action list.
action | The action object to be removed. |
void stopActionByTag | ( | int | tag | ) |
Removes an action from the running action list by its tag.
tag | A tag that indicates the action to be removed. |
void stopAllActions | ( | ) |
Stops and removes all actions from the running action list .
void stopAllActionsByTag | ( | int | tag | ) |
Removes all actions from the running action list by its tag.
tag | A tag that indicates the action to be removed. |
void unschedule | ( | SEL_SCHEDULE | selector | ) |
Unschedules a custom selector.
selector | A function wrapped as a selector NA |
void unschedule | ( | const std::string & | key | ) |
Unschedules a lambda function.
key | The key of the lambda function to be unscheduled NA |
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.
NA
|
inline |
void unscheduleUpdate | ( | void | ) |
|
virtual |
Reimplemented in ParticleSystem, ScrollView, TextField, Armature, PageView, Bone, Scene, MotionStreak, ControlStepper, SkeletonAnimation, and SkeletonRenderer.
|
protectedvirtual |
|
protectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in Sprite, LayerGradient, Label, LayerColor, Bone, ProgressTimer, and LabelAtlas.
|
virtual |
Reimplemented in __NodeRGBA, Scale9Sprite, Label, __LayerRGBA, ControlButton, ProtectedNode, and Bone.
|
virtual |
Reimplemented in __NodeRGBA, Scale9Sprite, Label, __LayerRGBA, ControlButton, ProtectedNode, and Bone.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
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.
|
virtual |
Visits this node's children and draw them recursively.
Reimplemented in EditBox, Scale9Sprite, Label, Layout, ScrollView, Widget, TextFieldTTF, LabelTTF, RenderTexture, SpriteBatchNode, ProtectedNode, ClippingNode, ParticleBatchNode, ParallaxNode, NodeGrid, ClippingRectangleNode, and AttachNode.
|
finalvirtual |
|
inlinevirtual |
|
friend |
CC_CONSTRUCTOR_ACCESS __pad0__ |
|
protected |
a pointer to ActionManager singleton, which is used to handle all the actions
|
mutableprotected |
transform
|
protected |
anchor point normalized (NOT in points)
|
protected |
anchor point in points
|
protected |
|
protected |
|
protected |
|
protected |
Dictionary of components.
|
protected |
untransformed size of the node
|
protected |
whether or not the contentSize is dirty
|
protected |
|
protected |
|
protected |
event dispatcher used to dispatch all kinds of events
|
protected |
Global order used to sort the node.
|
protected |
OpenGL Program State.
|
protected |
hash value of _name, used for speed in getChildByName
|
protected |
|
mutableprotected |
inverse transform
|
mutableprotected |
inverse transform dirty flag
|
protected |
flag to indicate whether the transition was finished
|
protected |
Local order (relative to its siblings) used to sort the node.
|
protected |
a string label, an user defined string to identify this node
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
used to preserve sequence while sorting children with the same localZOrder
|
protected |
weak reference to parent node
|
protected |
the physicsBody the node have
|
protected |
the scale x value when setPhysicsBody
|
protected |
the scale y value when setPhysicsBody
|
protected |
position of the node
|
protected |
OpenGL real Z position.
|
protected |
|
protected |
|
protected |
children order dirty flag
|
protected |
rotation on the X-axis
|
protected |
rotation on the Y-axis
|
protected |
rotation angle on Z-axis, component X
|
protected |
rotation angle on Z-axis, component Y
|
protected |
is running
|
protected |
scaling factor on x-axis
|
protected |
scaling factor on y-axis
|
protected |
scaling factor on z-axis
|
protected |
scheduler used to schedule timers and updates
|
protected |
skew angle on x-axis
|
protected |
skew angle on y-axis
|
protected |
a tag. Can be any number you assigned just to identify this node
|
mutableprotected |
transform
|
mutableprotected |
transform dirty flag
|
protected |
Whether or not the Transform object was updated since the last frame.
|
protected |
The flag to check whether the additional transform is dirty.
|
protected |
A user assingned void pointer, Can be point to any cpp object.
|
protected |
A user assigned Object.
|
protected |
|
protected |
is this node visible
|
static |
Default tag used for all the nodes.
|
staticprotected |