cocos2d-x  3.0-alpha0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SpriteBatchNode Class Reference

SpriteBatchNode is like a batch node: if it contains children, it will draw them in 1 single OpenGL call (often known as "batch draw"). More...

#include <CCSpriteBatchNode.h>

Inheritance diagram for SpriteBatchNode:
Node TextureProtocol Object BlendProtocol Label LabelBMFont TMXLayer

Public Member Functions

 SpriteBatchNode ()
virtual ~SpriteBatchNode ()
bool initWithTexture (Texture2D *tex, int capacity)
 initializes a SpriteBatchNode with a texture2d and capacity of children. More...
 
local initWithTexture ( local tex, local capacity)
 initializes a SpriteBatchNode with a texture2d and capacity of children. More...
 
bool initWithFile (const char *fileImage, int capacity)
 initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. More...
 
local init ( local fileImage, local capacity)
 initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children. More...
 
bool init ()
 Initializes the instance of Node. More...
 
TextureAtlasgetTextureAtlas (void)
 returns the TextureAtlas object More...
 
local getTextureAtlas ()
 returns the TextureAtlas object More...
 
void setTextureAtlas (TextureAtlas *textureAtlas)
 sets the TextureAtlas object More...
 
const std::vector< Sprite * > & getDescendants () const
 returns an array with the descendants (children, gran children, etc.). More...
 
void increaseAtlasCapacity ()
void removeChildAtIndex (int index, bool doCleanup)
 removes a child given a certain index. More...
 
var removeChildAtIndex ( var index, var doCleanup)
 removes a child given a certain index. More...
 
local removeChildAtIndex ( local index, local doCleanup)
 removes a child given a certain index. More...
 
void appendChild (Sprite *sprite)
void removeSpriteFromAtlas (Sprite *sprite)
var removeSpriteFromAtlas ( var sprite)
local removeSpriteFromAtlas ( local sprite)
int rebuildIndexInOrder (Sprite *parent, int index)
int highestAtlasIndexInChild (Sprite *sprite)
int lowestAtlasIndexInChild (Sprite *sprite)
int atlasIndexForChild (Sprite *sprite, int z)
void reorderBatch (bool reorder)
virtual Texture2DgetTexture (void) const override
 Returns the currently used texture. More...
 
virtual void setTexture (Texture2D *texture) override
 Sets a new texuture. More...
 
virtual void setBlendFunc (const BlendFunc &blendFunc) override
virtual const BlendFuncgetBlendFunc (void) const override
 Returns the blending function that is currently being used. More...
 
virtual void visit (void) override
 Visits this node's children and draw them recursively. More...
 
virtual void addChild (Node *child) override
 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 zOrder) override
 Adds a child to the container with a z-order. More...
 
var addChild ( var child, var zOrder)
 Adds a child to the container with a z-order. More...
 
local addChild ( local child, local zOrder)
 Adds a child to the container with a z-order. More...
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
local addChild ( local child, local zOrder, local tag)
 Adds a child to the container with z order and tag. More...
 
virtual void reorderChild (Node *child, int zOrder) override
 Reorders a child according to a new z value. More...
 
local reorderChild ( local child, local zOrder)
 Reorders a child according to a new z value. More...
 
virtual void removeChild (Node *child, bool cleanup) override
 Removes a child from the container. More...
 
local removeChild ( local child, local cleanup)
 Removes a child from the container. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup) override
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void sortAllChildren () override
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual void draw (void) override
 Override this method to draw your own node. More...
 
local draw ()
 Override this method to draw your own node. More...
 
- Public Member Functions inherited from Node
virtual CameragetCamera ()
 Returns a camera object that lets you move the node using a gluLookAt. More...
 
virtual bool isRunning () const
 Returns whether or not the node accepts event callbacks. More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void cleanup ()
 Stops all running actions and schedulers. More...
 
var cleanup ()
 Stops all running actions and schedulers. More...
 
local cleanup ()
 Stops all running actions and schedulers. More...
 
virtual Rect getBoundingBox () const
 Returns a "local" axis aligned bounding box of the node. More...
 
local getBoundingBox ()
 Returns a "local" axis aligned bounding box of the node. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE Rect 
boundingBox () const
local boundingBox ()
virtual void setZOrder (int zOrder)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
local setZOrder ( local zOrder)
 Sets the Z order which stands for the drawing order, and reorder this node in its parent's children array. More...
 
virtual void _setZOrder (int z)
 Sets the z order which stands for the drawing order. More...
 
virtual int getZOrder () const
 Gets the Z order of this node. More...
 
virtual void setVertexZ (float vertexZ)
 Sets the real OpenGL Z vertex. More...
 
local setVertexZ ( local vertexZ)
 Sets the real OpenGL Z vertex. More...
 
virtual float getVertexZ () const
 Gets OpenGL Z vertex of this node. More...
 
virtual void setScaleX (float scaleX)
 Changes the scale factor on X axis of this node. More...
 
var setScaleX ( var scaleX)
 Changes the scale factor on X axis of this node. More...
 
local setScaleX ( local scaleX)
 Changes the scale factor on X axis of this node. More...
 
virtual float getScaleX () const
 Returns the scale factor on X axis of this node. More...
 
virtual void setScaleY (float scaleY)
 Changes the scale factor on Y axis of this node. More...
 
var setScaleY ( var scaleY)
 Changes the scale factor on Y axis of this node. More...
 
local setScaleY ( local scaleY)
 Changes the scale factor on Y axis of this node. More...
 
virtual float getScaleY () const
 Returns the scale factor on Y axis of this node. More...
 
virtual void setScale (float scale)
 Changes both X and Y scale factor of the node. More...
 
local setScale ( local scale)
 Changes both X and Y scale factor 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 setPosition (const Point &position)
 Changes the position (x,y) of the node in OpenGL coordinates. More...
 
virtual const PointgetPosition () const
 Gets the position (x,y) of the node in OpenGL coordinates. More...
 
local getPosition ()
 Gets the position (x,y) of the node in OpenGL coordinates. More...
 
virtual void setPosition (float x, float y)
 Sets position in a more efficient way. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Point object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void) const
local getPositionX ()
virtual void setPositionY (float y)
local setPositionY ( local y)
virtual float getPositionY (void) const
local getPositionY ()
virtual void setSkewX (float fSkewX)
 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 fSkewY)
 Changes the Y skew angle of the node in degrees. More...
 
local setSkewY ( local fSkewY)
 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 Point &anchorPoint)
 Sets the anchor point in percent. More...
 
local setAnchorPoint ( local anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const PointgetAnchorPoint () const
 Returns the anchor point in percent. More...
 
local getAnchorPoint ()
 Returns the anchor point in percent. More...
 
virtual const PointgetAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual void setContentSize (const Size &contentSize)
 Sets the untransformed size of the node. More...
 
local setContentSize ( local contentSize)
 Sets the untransformed size of the node. More...
 
virtual const SizegetContentSize () const
 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...
 
var isVisible ()
 Determines if the node is visible. More...
 
local isVisible ()
 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 setRotationX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
local setRotationX ( local rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual float getRotationX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual void setRotationY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
local setRotationY ( local rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
var setOrderOfArrival ( var orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
local setOrderOfArrival ( local orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
virtual int getOrderOfArrival () const
 Returns the arrival order, indecates which children is added previously. More...
 
CC_DEPRECATED_ATTRIBUTE void setGLServerState (int serverState)
CC_DEPRECATED_ATTRIBUTE 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...
 
NodegetChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual ArraygetChildren ()
 Return an array of children. More...
 
virtual const ArraygetChildren () const
unsigned int getChildrenCount () const
 Get the amount of children. More...
 
local getChildrenCount ()
 Get the amount of children. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
var setParent ( var 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...
 
var getParent ()
 Returns a pointer to the parent node. More...
 
local getParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
local getParent ()
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
local 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 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 removeAllChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual GridBasegetGrid ()
 Returns a grid object that is used when applying effects. More...
 
local getGrid ()
 Returns a grid object that is used when applying effects. More...
 
virtual const GridBasegetGrid () const
local getGrid ()
virtual void setGrid (GridBase *grid)
 Changes a grid object that is used when applying effects. More...
 
local setGrid ( local grid)
 Changes a grid object that is used when applying effects. More...
 
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...
 
var setTag ( var 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 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 ObjectgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const ObjectgetUserObject () const
virtual void setUserObject (Object *userObject)
 Returns a user assigned Object. More...
 
local setUserObject ( local userObject)
 Returns a user assigned Object. More...
 
virtual GLProgramgetShaderProgram ()
 Return the shader program currently used for this node. More...
 
virtual const GLProgramgetShaderProgram () const
local getShaderProgram ()
virtual void setShaderProgram (GLProgram *shaderProgram)
 Sets the shader program for this node. More...
 
var setShaderProgram ( var shaderProgram)
 Sets the shader program for this node. More...
 
local setShaderProgram ( local shaderProgram)
 Sets the shader program for this node. More...
 
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...
 
virtual void setActionManager (ActionManager *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
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 . 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...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
unsigned int 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...
 
CC_DEPRECATED_ATTRIBUTE
unsigned int 
numberOfRunningActions () const
local numberOfRunningActions ()
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...
 
virtual const SchedulergetScheduler () const
local getScheduler ()
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector 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 schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unscheduleAllSelectors (void)
 Unschedule all scheduled selectors: custom selectors, and the 'update' selector. More...
 
void resumeSchedulerAndActions (void)
 Resumes all scheduled selectors and actions. More...
 
local resumeSchedulerAndActions ()
 Resumes all scheduled selectors and actions. More...
 
void pauseSchedulerAndActions (void)
 Pauses all scheduled selectors and actions. More...
 
virtual void update (float delta)
local update ( local delta)
void transform ()
 Performs OpenGL view-matrix transformation based on position, scale, rotation and other attributes. More...
 
void transformAncestors ()
 Performs OpenGL view-matrix transformation of it's ancestors. More...
 
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const AffineTransformgetNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
local getNodeToParentTransform ()
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToParentTransform () const
local nodeToParentTransform ()
virtual const AffineTransformgetParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
parentToNodeTransform () const
local parentToNodeTransform ()
virtual AffineTransform getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
local getNodeToWorldTransform ()
 Returns the world affine transform matrix. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
nodeToWorldTransform () const
local nodeToWorldTransform ()
virtual AffineTransform getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
local getWorldToNodeTransform ()
 Returns the inverse world affine transform matrix. More...
 
virtual
CC_DEPRECATED_ATTRIBUTE
AffineTransform 
worldToNodeTransform () const
local worldToNodeTransform ()
Point convertToNodeSpace (const Point &worldPoint) const
 Converts a Point to node (local) space coordinates. More...
 
Point convertToWorldSpace (const Point &nodePoint) const
 Converts a Point to world space coordinates. More...
 
Point convertToNodeSpaceAR (const Point &worldPoint) const
 Converts a Point to node (local) space coordinates. More...
 
Point convertToWorldSpaceAR (const Point &nodePoint) const
 Converts a local Point to world space coordinates.The result is in Points. More...
 
Point convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Point More...
 
Point convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
 Sets the additional transform. More...
 
ComponentgetComponent (const char *pName)
 gets a component by its name More...
 
virtual bool addComponent (Component *pComponent)
 adds a component More...
 
local addComponent ( local pComponent)
 adds a component More...
 
virtual bool removeComponent (const char *pName)
 removes a component by its name More...
 
virtual void removeAllComponents ()
 removes all components More...
 
 Node (void)
 Default constructor. More...
 
virtual ~Node (void)
 Default destructor. More...
 
const char * description (void) const
 Gets the description string. More...
 
- Public Member Functions inherited from Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
void release ()
 Release the ownership immediately. More...
 
void retain ()
 Retains the ownership. More...
 
Objectautorelease ()
 Release the ownership sometime soon automatically. More...
 
bool isSingleReference () const
 Returns a boolean value that indicates whether there is only one reference to the object. More...
 
unsigned int retainCount () const
 Returns the object's current reference count. More...
 
virtual bool isEqual (const Object *object)
 Returns a boolean value that indicates whether this object and a given object are equal. More...
 
virtual void acceptVisitor (DataVisitor &visitor)

Static Public Member Functions

static SpriteBatchNodecreateWithTexture (Texture2D *tex, int capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a texture2d and capacity of children. More...
 
var createWithTexture ( var tex, var DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a texture2d and capacity of children. More...
 
local createWithTexture ( local tex, local DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a texture2d and capacity of children. More...
 
static SpriteBatchNodecreate (const char *fileImage, int capacity=DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children. More...
 
local create ( local fileImage, local DEFAULT_CAPACITY)
 creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate (void)
 Allocates and initializes a node. More...
 

Protected Member Functions

void insertQuadFromSprite (Sprite *sprite, int index)
 Inserts a quad at a certain index into the texture atlas. More...
 
void updateQuadFromSprite (Sprite *sprite, int index)
 Updates a quad at a certain index into the texture atlas. More...
 
SpriteBatchNodeaddSpriteWithoutQuad (Sprite *child, int z, int aTag)
var addSpriteWithoutQuad ( var child, var z, var aTag)
void updateAtlasIndex (Sprite *sprite, int *curIndex)
void swap (int oldIndex, int newIndex)
void updateBlendFunc ()
- Protected Member Functions inherited from Node
void updateEventPriorityIndex ()
 Upates event priority for this node. More...
 
void removeAllEventListeners ()
 Removes all event listeners that associated with this node. More...
 
void setDirtyForAllEventListeners ()
 Sets dirty for event listener. More...
 
void childrenAlloc (void)
 lazy allocs More...
 
void insertChild (Node *child, int z)
 helper that reorder a child More...
 
void detachChild (Node *child, int index, bool doCleanup)
 Removes a child, call child->onExit(), do cleanup, remove it from children array. More...
 
Point convertToWindowSpace (const Point &nodePoint) const
 Convert cocos2d coordinates to UI windows coordinate. More...
 

Protected Attributes

TextureAtlas_textureAtlas
BlendFunc _blendFunc
var _blendFunc
local _blendFunc
std::vector< Sprite * > _descendants
var _descendants
local _descendants
- Protected Attributes inherited from Node
float _rotationX
 rotation angle on x-axis More...
 
float _rotationY
 rotation angle on y-axis More...
 
var _rotationY
 rotation angle on y-axis More...
 
local _rotationY
 rotation angle on y-axis More...
 
float _scaleX
 scaling factor on x-axis More...
 
var _scaleX
 scaling factor on x-axis More...
 
local _scaleX
 scaling factor on x-axis More...
 
float _scaleY
 scaling factor on y-axis More...
 
var _scaleY
 scaling factor on y-axis More...
 
local _scaleY
 scaling factor on y-axis More...
 
float _vertexZ
 OpenGL real Z vertex. More...
 
Point _position
 position of the node More...
 
float _skewX
 skew angle on x-axis More...
 
var _skewX
 skew angle on x-axis More...
 
local _skewX
 skew angle on x-axis More...
 
float _skewY
 skew angle on y-axis More...
 
var _skewY
 skew angle on y-axis More...
 
local _skewY
 skew angle on y-axis More...
 
Point _anchorPointInPoints
 anchor point in points More...
 
var _anchorPointInPoints
 anchor point in points More...
 
local _anchorPointInPoints
 anchor point in points More...
 
Point _anchorPoint
 anchor point normalized (NOT in points) More...
 
Size _contentSize
 untransformed size of the node More...
 
local _contentSize
 untransformed size of the node More...
 
AffineTransform _additionalTransform
 transform More...
 
AffineTransform _transform
 transform More...
 
var _transform
 transform More...
 
local _transform
 transform More...
 
AffineTransform _inverse
 inverse transform More...
 
var _inverse
 inverse transform More...
 
local _inverse
 inverse transform More...
 
bool _additionalTransformDirty
 The flag to check whether the additional transform is dirty. More...
 
bool _transformDirty
 transform dirty flag More...
 
var _transformDirty
 transform dirty flag More...
 
local _transformDirty
 transform dirty flag More...
 
bool _inverseDirty
 inverse transform dirty flag More...
 
var _inverseDirty
 inverse transform dirty flag More...
 
local _inverseDirty
 inverse transform dirty flag More...
 
Camera_camera
 a camera More...
 
GridBase_grid
 a grid More...
 
int _ZOrder
 z-order value that affects the draw order More...
 
Array_children
 array of children nodes More...
 
var _children
 array of children nodes More...
 
local _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...
 
var _tag
 a tag. Can be any number you assigned just to identify this node More...
 
local _tag
 a tag. Can be any number you assigned just to identify this node More...
 
void * _userData
 A user assingned void pointer, Can be point to any cpp object. More...
 
Object_userObject
 A user assigned Object. More...
 
local _userObject
 A user assigned Object. More...
 
GLProgram_shaderProgram
 OpenGL shader. More...
 
int _orderOfArrival
 used to preserve sequence while sorting children with the same zOrder 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...
 
var _actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
local _actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
bool _running
 is running More...
 
bool _visible
 is this node visible More...
 
bool _ignoreAnchorPointForPosition
 true if the Anchor Point will be (0,0) when you position the Node, false otherwise. More...
 
var _ignoreAnchorPointForPosition
 true if the Anchor Point will be (0,0) when you position the Node, false otherwise. More...
 
local _ignoreAnchorPointForPosition
 true if the Anchor Point will be (0,0) when you position the Node, false otherwise. More...
 
bool _reorderChildDirty
 children order dirty flag More...
 
local _reorderChildDirty
 children order dirty flag More...
 
bool _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
var _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
local _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
int _scriptHandler
 script handler for onEnter() & onExit(), used in Javascript binding and Lua binding. More...
 
int _updateScriptHandler
 script handler for update() callback per frame, which is invoked from lua & javascript. More...
 
var _updateScriptHandler
 script handler for update() callback per frame, which is invoked from lua & javascript. More...
 
local _updateScriptHandler
 script handler for update() callback per frame, which is invoked from lua & javascript. More...
 
ccScriptType _scriptType
 type of script binding, lua or javascript More...
 
ComponentContainer_componentContainer
 Dictionary of components. More...
 
var _componentContainer
 Dictionary of components. More...
 
local _componentContainer
 Dictionary of components. More...
 
int _eventPriority
 The scene graph based priority of event listener. More...
 
int _oldEventPriority
 The old scene graph based priority of event listener. More...
 
var _oldEventPriority
 The old scene graph based priority of event listener. More...
 
local _oldEventPriority
 The old scene graph based priority of event listener. More...
 
- Protected Attributes inherited from Object
unsigned int _reference
 count of references More...
 
var _reference
 count of references More...
 
local _reference
 count of references More...
 
unsigned int _autoReleaseCount
 count of autorelease More...
 
var _autoReleaseCount
 count of autorelease More...
 
local _autoReleaseCount
 count of autorelease More...
 

Additional Inherited Members

- Public Attributes inherited from Object
unsigned int _ID
 object id, ScriptSupport need public _ID More...
 
int _luaID
 Lua reference id. More...
 
- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
var INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
local INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
- Static Protected Attributes inherited from Node
static int _globalEventPriorityIndex
 The index of global event priority. More...
 

Detailed Description

SpriteBatchNode is like a batch node: if it contains children, it will draw them in 1 single OpenGL call (often known as "batch draw").

A SpriteBatchNode can reference one and only one texture (one image file, one texture atlas). Only the Sprites that are contained in that texture can be added to the SpriteBatchNode. All Sprites added to a SpriteBatchNode are drawn in one OpenGL ES draw call. If the Sprites are not added to a SpriteBatchNode then an OpenGL ES draw call will be needed for each one, which is less efficient.

Limitations:

  • The only object that is accepted as child (or grandchild, grand-grandchild, etc...) is Sprite or any subclass of Sprite. eg: particles, labels and layer can't be added to a SpriteBatchNode.
  • Either all its children are Aliased or Antialiased. It can't be a mix. This is because "alias" is a property of the texture, and all the sprites share the same texture.
Since
v0.7.1

Constructor & Destructor Documentation

var ctor ( )
local SpriteBatchNode ( )
virtual ~SpriteBatchNode ( )
virtual

Member Function Documentation

virtual void addChild ( Node child)
inlineoverridevirtual

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 from Node.

var addChild ( var  child)
inlineoverridevirtual

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 from Node.

local addChild ( local  child)
inlineoverridevirtual

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 from Node.

virtual void addChild ( Node child,
int  zOrder 
)
inlineoverridevirtual

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

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

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setZOrder(int)

Reimplemented from Node.

var addChild ( var  child,
var  zOrder 
)
inlineoverridevirtual

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

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

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setZOrder(int)

Reimplemented from Node.

local addChild ( local  child,
local  zOrder 
)
inlineoverridevirtual

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

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

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setZOrder(int)

Reimplemented from Node.

virtual void addChild ( Node child,
int  zOrder,
int  tag 
)
overridevirtual

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
zOrderZ order for drawing priority. Please refer to setZOrder(int)
tagA interger to identify the node easily. Please refer to setTag(int)

Reimplemented from Node.

Reimplemented in TMXLayer.

var addChild ( var  child,
var  zOrder,
var  tag 
)
overridevirtual

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
zOrderZ order for drawing priority. Please refer to setZOrder(int)
tagA interger to identify the node easily. Please refer to setTag(int)

Reimplemented from Node.

Reimplemented in TMXLayer.

local addChild ( local  child,
local  zOrder,
local  tag 
)
overridevirtual

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
zOrderZ order for drawing priority. Please refer to setZOrder(int)
tagA interger to identify the node easily. Please refer to setTag(int)

Reimplemented from Node.

Reimplemented in TMXLayer.

SpriteBatchNode*
addSpriteWithoutQuad
( Sprite child,
int  z,
int  aTag 
)
protected
var addSpriteWithoutQuad ( var  child,
var  z,
var  aTag 
)
protected
local addSpriteWithoutQuad ( local  child,
local  z,
local  aTag 
)
protected
void appendChild ( Sprite sprite)
var appendChild ( var  sprite)
local appendChild ( local  sprite)
int atlasIndexForChild ( Sprite sprite,
int  z 
)
var atlasIndexForChild ( var  sprite,
var  z 
)
local atlasIndexForChild ( local  sprite,
local  z 
)
static SpriteBatchNode* create ( const char *  fileImage,
int  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

var create ( var  fileImage,
var  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

local create ( local  fileImage,
local  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

static SpriteBatchNode*
createWithTexture
( Texture2D tex,
int  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

var createWithTexture ( var  tex,
var  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

local createWithTexture ( local  tex,
local  capacity = DEFAULT_CAPACITY 
)
static

creates a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

virtual void draw ( void  )
overridevirtual

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 from Node.

var draw (   )
overridevirtual

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 from Node.

local draw (   )
overridevirtual

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 from Node.

virtual const BlendFunc&
getBlendFunc
( void  ) const
overridevirtual

Returns the blending function that is currently being used.

Returns
A BlendFunc structure with source and destination factor which specified pixel arithmetic.

Implements BlendProtocol.

const std::vector<Sprite*>
& getDescendants
( ) const
inline

returns an array with the descendants (children, gran children, etc.).

This is specific to BatchNode. In order to use the children, use getChildren() instead

var getDescendants ( )
inline

returns an array with the descendants (children, gran children, etc.).

This is specific to BatchNode. In order to use the children, use getChildren() instead

local getDescendants ( )
inline

returns an array with the descendants (children, gran children, etc.).

This is specific to BatchNode. In order to use the children, use getChildren() instead

virtual Texture2D* getTexture ( void  ) const
overridevirtual

Returns the currently used texture.

Returns
The texture that is currenlty being used.

Implements TextureProtocol.

var getTexture (   )
overridevirtual

Returns the currently used texture.

Returns
The texture that is currenlty being used.

Implements TextureProtocol.

local getTexture (   )
overridevirtual

Returns the currently used texture.

Returns
The texture that is currenlty being used.

Implements TextureProtocol.

TextureAtlas* getTextureAtlas ( void  )
inline

returns the TextureAtlas object

var getTextureAtlas (   )
inline

returns the TextureAtlas object

local getTextureAtlas (   )
inline

returns the TextureAtlas object

int highestAtlasIndexInChild ( Sprite sprite)
var highestAtlasIndexInChild ( var  sprite)
local highestAtlasIndexInChild ( local  sprite)
void increaseAtlasCapacity ( )
var increaseAtlasCapacity ( )
local increaseAtlasCapacity ( )
bool init ( )
virtual

Initializes the instance of Node.

Returns
Whether the initialization was successful.

Reimplemented from Node.

var init ( )
virtual

Initializes the instance of Node.

Returns
Whether the initialization was successful.

Reimplemented from Node.

local init ( )
virtual

Initializes the instance of Node.

Returns
Whether the initialization was successful.

Reimplemented from Node.

bool initWithFile ( const char *  fileImage,
int  capacity 
)

initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

var init ( var  fileImage,
var  capacity 
)

initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

local init ( local  fileImage,
local  capacity 
)

initializes a SpriteBatchNode with a file image (.png, .jpeg, .pvr, etc) and a capacity of children.

The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr.

bool initWithTexture ( Texture2D tex,
int  capacity 
)

initializes a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

var initWithTexture ( var  tex,
var  capacity 
)

initializes a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

local initWithTexture ( local  tex,
local  capacity 
)

initializes a SpriteBatchNode with a texture2d and capacity of children.

The capacity will be increased in 33% in runtime if it run out of space.

void insertQuadFromSprite ( Sprite sprite,
int  index 
)
protected

Inserts a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

var insertQuadFromSprite ( var  sprite,
var  index 
)
protected

Inserts a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

local insertQuadFromSprite ( local  sprite,
local  index 
)
protected

Inserts a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

int lowestAtlasIndexInChild ( Sprite sprite)
var lowestAtlasIndexInChild ( var  sprite)
local lowestAtlasIndexInChild ( local  sprite)
int rebuildIndexInOrder ( Sprite parent,
int  index 
)
var rebuildIndexInOrder ( var  parent,
var  index 
)
local rebuildIndexInOrder ( local  parent,
local  index 
)
virtual void
removeAllChildrenWithCleanup
( bool  cleanup)
overridevirtual

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 from Node.

var removeAllChildrenWithCleanup ( var  cleanup)
overridevirtual

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 from Node.

local removeAllChildrenWithCleanup ( local  cleanup)
overridevirtual

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 from Node.

virtual void removeChild ( Node child,
bool  cleanup 
)
overridevirtual

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 from Node.

Reimplemented in TMXLayer.

var removeChild ( var  child,
var  cleanup 
)
overridevirtual

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 from Node.

Reimplemented in TMXLayer.

local removeChild ( local  child,
local  cleanup 
)
overridevirtual

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 from Node.

Reimplemented in TMXLayer.

void removeChildAtIndex ( int  index,
bool  doCleanup 
)

removes a child given a certain index.

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

Warning
Removing a child from a SpriteBatchNode is very slow
var removeChildAtIndex ( var  index,
var  doCleanup 
)

removes a child given a certain index.

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

Warning
Removing a child from a SpriteBatchNode is very slow
local removeChildAtIndex ( local  index,
local  doCleanup 
)

removes a child given a certain index.

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

Warning
Removing a child from a SpriteBatchNode is very slow
void removeSpriteFromAtlas ( Sprite sprite)
var removeSpriteFromAtlas ( var  sprite)
local removeSpriteFromAtlas ( local  sprite)
void reorderBatch ( bool  reorder)
var reorderBatch ( var  reorder)
local reorderBatch ( local  reorder)
virtual void reorderChild ( Node child,
int  zOrder 
)
overridevirtual

Reorders a child according to a new z value.

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

Reimplemented from Node.

var reorderChild ( var  child,
var  zOrder 
)
overridevirtual

Reorders a child according to a new z value.

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

Reimplemented from Node.

local reorderChild ( local  child,
local  zOrder 
)
overridevirtual

Reorders a child according to a new z value.

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

Reimplemented from Node.

virtual void setBlendFunc ( const BlendFunc blendFunc)
overridevirtual
When this function bound into js or lua,the parameter will be changed
In js: var setBlendFunc(var src, var dst)

Implements BlendProtocol.

var setBlendFunc ( var  blendFunc)
overridevirtual
When this function bound into js or lua,the parameter will be changed
In js: var setBlendFunc(var src, var dst)

Implements BlendProtocol.

virtual void setTexture ( Texture2D texture)
overridevirtual

Sets a new texuture.

It will be retained.

Parameters
textureA valid Texture2D object, which will be applied to this sprite object.

Implements TextureProtocol.

var setTexture ( var  texture)
overridevirtual

Sets a new texuture.

It will be retained.

Parameters
textureA valid Texture2D object, which will be applied to this sprite object.

Implements TextureProtocol.

local setTexture ( local  texture)
overridevirtual

Sets a new texuture.

It will be retained.

Parameters
textureA valid Texture2D object, which will be applied to this sprite object.

Implements TextureProtocol.

void setTextureAtlas ( TextureAtlas textureAtlas)
inline

sets the TextureAtlas object

var setTextureAtlas ( var  textureAtlas)
inline

sets the TextureAtlas object

local setTextureAtlas ( local  textureAtlas)
inline

sets the TextureAtlas object

virtual void sortAllChildren ( )
overridevirtual

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 from Node.

var sortAllChildren ( )
overridevirtual

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 from Node.

local sortAllChildren ( )
overridevirtual

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 from Node.

void swap ( int  oldIndex,
int  newIndex 
)
protected
var swap ( var  oldIndex,
var  newIndex 
)
protected
local swap ( local  oldIndex,
local  newIndex 
)
protected
void updateAtlasIndex ( Sprite sprite,
int *  curIndex 
)
protected
var updateAtlasIndex ( var  sprite,
var  curIndex 
)
protected
local updateAtlasIndex ( local  sprite,
local  curIndex 
)
protected
void updateBlendFunc ( )
protected
var updateBlendFunc ( )
protected
local updateBlendFunc ( )
protected
void updateQuadFromSprite ( Sprite sprite,
int  index 
)
protected

Updates a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

var updateQuadFromSprite ( var  sprite,
var  index 
)
protected

Updates a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

local updateQuadFromSprite ( local  sprite,
local  index 
)
protected

Updates a quad at a certain index into the texture atlas.

The Sprite won't be added into the children array. This method should be called only when you are dealing with very big AtlasSrite and when most of the Sprite won't be updated. For example: a tile map (TMXMap) or a label with lots of characters (LabelBMFont)

virtual void visit ( void  )
overridevirtual

Visits this node's children and draw them recursively.

Reimplemented from Node.

var visit (   )
overridevirtual

Visits this node's children and draw them recursively.

Reimplemented from Node.

local visit (   )
overridevirtual

Visits this node's children and draw them recursively.

Reimplemented from Node.

Member Data Documentation

BlendFunc _blendFunc
protected
var _blendFunc
protected
local _blendFunc
protected
std::vector<Sprite*> _descendants
protected
var _descendants
protected
local _descendants
protected
TextureAtlas* _textureAtlas
protected
var _textureAtlas
protected
local _textureAtlas
protected

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