cocos2d-x 3.0
- 首页 - 相关页面 - 模块 - 命名空间 - - 文件 -
Public 成员函数 - 图1 Public 成员函数 - 图2)
- 类列表 - 类索引 - 类继承关系 - 类成员

全部)) 命名空间) 文件) 函数) 变量) 类型定义) 枚举) 枚举值) 属性) 友元) 宏定义)))

Public 成员函数 | 静态 Public 成员函数 | Public 属性 | Protected 成员函数 | Protected 属性 | 所有成员列表

SpriteBatchNode类 参考 Sprite Nodes

SpriteBatchNode与批量节点类似,如果包含子节点会在一次OpenGL调用内绘制完成(一般称为"batch draw") 更多…

#include

类 SpriteBatchNode 继承关系图:

Public 成员函数 - 图3 Node TextureProtocol Ref BlendProtocol Label TMXLayer TextFieldTTF UICCTextField

## Public 成员函数
TextureAtlas getTextureAtlas (void)
返回纹理集(TextureAtlas)对象 更多…
void setTextureAtlas (TextureAtlas textureAtlas)
设置纹理集(TextureAtlas)对象 更多…
const std::vector< Sprite > & getDescendants () const
返回后代节点(子节点,孙子节点,等等)数组。 此函数为BatchNode特有,如需要返回子节点则使用getChildren函数替代。 更多…
void increaseAtlasCapacity ()
void removeChildAtIndex (ssize_t index, bool doCleanup)
删除指定索引值(index)的子节点,根据doCleanup参数确定是否同时释放该节点。 更多…
void appendChild (Sprite sprite)
void removeSpriteFromAtlas (Sprite sprite)
ssize_t rebuildIndexInOrder (Sprite parent, ssize_t index)
ssize_t highestAtlasIndexInChild (Sprite sprite)
ssize_t lowestAtlasIndexInChild (Sprite sprite)
ssize_t atlasIndexForChild (Sprite sprite, int z)
void reorderBatch (bool reorder)
virtual Texture2D getTexture () const override
返回当前使用的所有的纹理 更多…
virtual void setTexture (Texture2D texture) override
设置一个新的纹理,在内部会进行一次retain 更多…
virtual void setBlendFunc (const BlendFunc &blendFunc) override
virtual const BlendFunc & getBlendFunc () const override
NA NA 更多…
virtual void visit (Renderer renderer, const Mat4 &parentTransform, bool parentTransformUpdated) override
访问节点的孩子,并且循环递归的绘制它们。 更多…
virtual void addChild (Node child, int zOrder, int tag) override
添加一个子节点到容器中,有Z轴顺序和一个标记。 更多…
virtual void reorderChild (Node child, int zOrder) override
对一个孩子重新排序,设定一个新的z轴的值。 更多…
virtual void removeChild (Node child, bool cleanup) override
从容器中删除一个孩子,取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void removeAllChildrenWithCleanup (bool cleanup) override
从容器中删除所有的孩子, 取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void sortAllChildren () override
在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。 这个方法可以大量地提高性能。 更多…
virtual void draw (Renderer renderer, const Mat4 &transform, bool transformUpdated) override
重写这个方法来绘制你自己的节点。 以下的GL状态是默认开启的: 更多…
virtual std::string getDescription () const override
得到描述性的字符串。这将会使得调试更加简单。 更多…
void insertQuadFromSprite (Sprite sprite, ssize_t index)
在指定索引位置插入一个quad(顶点的坐标位置,纹理的坐标位置和颜色信息)到纹理集,参数中的Sprite不会添加到子节点数组。 此方法仅在处理一个很大的AtlasSprite且大部分Sprite不改变时调用。 例如:瓦片地图(TMXMap)或包含非常多字符的标签(LabelBMFont) 更多…
SpriteBatchNode addSpriteWithoutQuad (Sprite child, int z, int aTag)
virtual ~SpriteBatchNode ()
NA NA 更多…
bool initWithTexture (Texture2D tex, ssize_t capacity)
指定子节点纹理(texture2d)和容量(capacity)参数初始化SpriteBatchNode。 在运行期如超出预设容量则扩容33。 更多…
bool initWithFile (const std::string &fileImage, ssize_t capacity)
指定子节点纹理图像文件(.png、.jpeg、.pvr等)和容量(capacity)参数初始化SpriteBatchNode。 在运行期如超出预设容量则扩容33。 使用TextureMgr加载图像文件。 init init 更多…
bool init ()
- Public 成员函数 继承自 Node
virtual bool isRunning () const
返回节点是否是“running(活动的)”。 更多…
void scheduleUpdateWithPriorityLua (int handler, int priority)
lua script的时间表 NA 更多…
virtual void cleanup ()
暂停所有的活动着的动作和调度器。 更多…
virtual void draw () final
virtual void visit () final
virtual Scene getScene ()
返回包含Node(节点)的Scene(场景)。 如果这个节点不属于任何的场景,它将返回nullptr。 这个函数循环递归地调用parent->getScene() 直到父类是一个Scene对象。结果不会被缓存。只有当这个函数被用在一个循环中时,用户才会缓存这个结果。 更多…
virtual Rect getBoundingBox () const
返回 一个AABB(轴向包围盒)在它的父坐标系中。 更多…
virtual CC_DEPRECATED_ATTRIBUTE Rect boundingBox () const
virtual void setEventDispatcher (EventDispatcher dispatcher)
virtual EventDispatcher getEventDispatcher () const
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 (void) 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 bValue)
virtual bool isOpacityModifyRGB () const
virtual ~Node ()
virtual void setLocalZOrder (int localZOrder)
LocalZOrder是“key”(关键)来分辨节点和它兄弟节点的相关性。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
得到这个节点的局部Z顺序 更多…
virtual CC_DEPRECATED_ATTRIBUTE int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
定义渲染节点的顺序 拥有全局Z顺序越小的节点,最先渲染 更多…
virtual float getGlobalZOrder () const
返回节点的全局Z顺序。 更多…
virtual void setScaleX (float scaleX)
设置节点的缩放(x)。 更多…
virtual float getScaleX () const
返回该节点的X轴的缩放因子。 更多…
virtual void setScaleY (float scaleY)
设置节点的缩放(y)。 更多…
virtual float getScaleY () const
返回该节点的Y轴的缩放因子。 更多…
virtual void setScaleZ (float scaleZ)
改变该节点的Z轴的缩放因子。 更多…
virtual float getScaleZ () const
返回该节点的梓州的缩放因子。 更多…
virtual void setScale (float scale)
设置几点的缩放(x,y,z). 更多…
virtual float getScale () const
得到该节点的缩放因子,当X轴和Y轴有相同的缩放因子时。 更多…
virtual void setScale (float scaleX, float scaleY)
设置节点的缩放(x,y). 更多…
virtual void setPosition (const Vec2 &position)
设置节点的位置在父节点的坐标系系统中。 更多…
virtual const Vec2 & getPosition () const
得到在父节点坐标系中节点的位置(x,y)。 更多…
virtual void setPosition (float x, float y)
设置节点在它父节点坐标系中的位置(x,y)。 更多…
virtual void getPosition (float x, float y) const
用一个更有效率的方法设置位置,返回两个数字而不是Vec2对象。 更多…
virtual void setPositionX (float x)
分别得到或者设置位置的X或者Y轴坐标系 这些方法被绑定使用在在Lua和JavaScript。 更多…
virtual float getPositionX (void) const
virtual void setPositionY (float y)
virtual float getPositionY (void) const
virtual void setPosition3D (const Vec3 &position)
设置在父节点坐标系中的位置(x,y,z)。 更多…
virtual Vec3 getPosition3D () const
返回父坐标系的位置(X,Y,Z)。 更多…
virtual void setPositionZ (float positionZ)
设置位置的“z”轴坐标系,是OpneGL Z 定点值。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setVertexZ (float vertexZ)
virtual float getPositionZ () const
得到该节点的Z轴坐标系的位置。 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getVertexZ () const
virtual void setSkewX (float skewX)
改变该节点X轴的倾斜角,单位是度。 更多…
virtual float getSkewX () const
返回该节点的X轴倾斜角,单位是度。 更多…
virtual void setSkewY (float skewY)
改变该节点Y轴的倾斜角,单位是度。 更多…
virtual float getSkewY () const
返回该节点的Y轴倾斜角,单位是度。 更多…
virtual void setAnchorPoint (const Vec2 &anchorPoint)
设置锚点,用百分比表示。 更多…
virtual const Vec2 & getAnchorPoint () const
返回用百分比表示的锚点。 更多…
virtual const Vec2 & getAnchorPointInPoints () const
返回绝对像素的锚点 更多…
virtual void setContentSize (const Size &contentSize)
设置不转换节点的大小。 更多…
virtual const Size & getContentSize () const
返回未转换节点的大小。 更多…
virtual void setVisible (bool visible)
设置节点是否可见。 更多…
virtual bool isVisible () const
决定节点是否可见。 更多…
virtual void setRotation (float rotation)
设置节点的旋转(angle)角度。 更多…
virtual float getRotation () const
返回节点的旋转角度。 更多…
virtual void setRotation3D (const Vec3 &rotation)
设置(X,Y,Z)旋转角度。 对3d旋转非常有用。 更多…
virtual Vec3 getRotation3D () const
返回(X,Y,Z)的旋转角度。 更多…
virtual void setRotationSkewX (float rotationX)
设置节点X轴的旋转角度,表现为水平旋转倾斜。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setRotationX (float rotationX)
virtual float getRotationSkewX () const
得到X轴节点的旋转角度,表现为水平旋转倾斜(horizontal rotation skew). 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getRotationX () const
virtual void setRotationSkewY (float rotationY)
设置Y轴节点的旋转角度,表现为垂直旋转倾斜。 更多…
virtual CC_DEPRECATED_ATTRIBUTE void setRotationY (float rotationY)
virtual float getRotationSkewY () const
得到节点Y轴的旋转角度,表现为垂直旋转倾斜(vertical rotational skew. 更多…
virtual CC_DEPRECATED_ATTRIBUTE float getRotationY () const
void setOrderOfArrival (int orderOfArrival)
设置到达顺序,当这个节点和其他子节点有相同的ZOrder时。 更多…
int getOrderOfArrival () const
返回到达顺序,指出哪一个子类先被添加。 更多…
CC_DEPRECATED_ATTRIBUTE void setGLServerState (int serverState)
CC_DEPRECATED_ATTRIBUTE int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
设置抹点为(0,0)当你摆放这个节点的时候。 更多…
virtual bool isIgnoreAnchorPointForPosition () const
得到节点的锚点是否为(0,0),当你摆放这个节点时。 更多…
virtual void addChild (Node child)
添加一个子节点到容器内,z-order是0. 更多…
virtual void addChild (Node child, int localZOrder)
添加一个子节点到容器中,参数有一个局部Z轴顺序。 更多…
virtual Node getChildByTag (int tag)
从容器中得到一个子节点通过它的标记。 更多…
virtual Vector< Node > & getChildren ()
返回子节点数组。 更多…
virtual const Vector< Node > & getChildren () const
virtual ssize_t getChildrenCount () const
返回子节点的总数 更多…
virtual void setParent (Node parent)
设置父节点Sets the parent node 更多…
virtual Node getParent ()
返回指向父节点的指针。 更多…
virtual const Node getParent () const
virtual void removeFromParent ()
从父节点中删除一个节点,有一个cleanup参数。 如果这个节点是一个孤节点,那么什么都不会发生。 更多…
virtual void removeFromParentAndCleanup (bool cleanup)
从父节点中删除一个节点 如果这个节点是一个孤节点,那么什么都不会发生。 更多…
virtual void removeChildByTag (int tag, bool cleanup=true)
从一个容器中删除一个孩子通过标记值。取决于cleanup参数同时会清除所有的活动的动作。 更多…
virtual void removeAllChildren ()
从容器中删除所有的孩子,with a cleanup。 更多…
virtual int getTag () const
返回一个用来更简单分辨节点的标记。 更多…
virtual void setTag (int tag)
改变这个用来更容易分辨节点的标记。 更多…
virtual void getUserData ()
返回一个自定义用户数据的指针。 更多…
virtual const void getUserData () const
NA NA 更多…
virtual void setUserData (void userData)
设置一个自定义用户数据的指针。 更多…
virtual Ref getUserObject ()
返回一个用户分配的对象 更多…
virtual const Ref getUserObject () const
NA NA 更多…
virtual void setUserObject (Ref userObject)
返回一个用户分配的对象 更多…
GLProgram getGLProgram ()
返回当前用于这个节点的GLProgram (shader) 更多…
CC_DEPRECATED_ATTRIBUTE GLProgram getShaderProgram ()
GLProgramState getGLProgramState ()
void setGLProgramState (GLProgramState glProgramState)
void setGLProgram (GLProgram glprogram)
为这个节点设置着色器程序 更多…
CC_DEPRECATED_ATTRIBUTE void setShaderProgram (GLProgram glprogram)
virtual void onEnter ()
每次当Node进入“stage”时才调用事件回调。 如果Node进入“stage”状态时伴随着一个转换(transition),那么事件将会在这个转换开始的时候被调用。 在onEnter过程中,你不能够接入“sister/brother”兄妹节点。 如果你重写了onEnter方法,你应该调用它的父类,e.g., Node::onEnter(). 更多…
virtual void onEnterTransitionDidFinish ()
每次当Node进入“stage”时才调用事件回调。 如果Node进入“stage”状态时伴随着一个转换(transition),那么事件将会在这个转换结束的时候被调用。 如果你重写了onEnterTransitionDidFinish方法 你应该调用它的父类, e.g. 更多…
virtual void onExit ()
每次当Node离开“stage”时才调用事件回调。 如果Node离开“stage”状态时伴随着一个转换(transition), 那么事件将会在这个转换结束的时候被调用。 在onEnter过程中中你不能够接入一个兄妹节点。 如果你重写onExit, 你应该调用它的父类, e.g., Node::onExit(). 更多…
virtual void onExitTransitionDidStart ()
每次当Node离开“stage”时才调用事件回调。 如果Node离开“stage”状态时伴随着一个转换(transition), 那么事件将会在这个转换开始的时候被调用。 NA NA 更多…
virtual void setActionManager (ActionManager actionManager)
设置被所有动作使用的ActionManager对象。 更多…
virtual ActionManager getActionManager ()
得到被所有动作使用的ActionManager对象。 更多…
virtual const ActionManager getActionManager () const
Action runAction (Action action)
执行一个动作,并且返回执行的该动作。 更多…
void stopAllActions ()
停止并且删除所有的动作从活动动作列表中。 更多…
void stopAction (Action action)
停止并且删除所有的动作从活动动作列表中。 更多…
void stopActionByTag (int tag)
通过动作的标记从活动动作列表中删除一个动作。 更多…
Action getActionByTag (int tag)
通过动作的标记从活动动作列表中得到一个动作。 更多…
ssize_t getNumberOfRunningActions () const
返回活动着的动作加上正在调度运行的动作的总数 (在actionsToAdd状态的动作和动作数组中的). 更多…
CC_DEPRECATED_ATTRIBUTE ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler scheduler)
设置一个调度器对象来用于调度所有的“update”和定时器。 更多…
virtual Scheduler getScheduler ()
得到调度器对象。 更多…
virtual const Scheduler getScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
检查是否一个选择器是预定的。 更多…
void scheduleUpdate (void)
调度“update”方法。 更多…
void scheduleUpdateWithPriority (int priority)
调度这个"update"方法伴随着一个自定义优先级。 更多…
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
调度一个自定义的选择器。 更多…
void schedule (SEL_SCHEDULE selector, float interval)
调度一个自定义的选择器伴随着一个以秒为单位的内部时间。 更多…
void scheduleOnce (SEL_SCHEDULE selector, float delay)
调度一个只运行一次的选择器,伴随着一个0或者更大的延期。 更多…
void schedule (SEL_SCHEDULE selector)
调度一个自定义的选择器,这个调度后的选择器将会以每帧为时间间隔。 更多…
void unschedule (SEL_SCHEDULE selector)
不调度一个自定义的选择器。 更多…
void unscheduleAllSelectors (void)
不调度所有的调度过的选择器: 自定义选择器, 和 'update' 选择器。 动作不受这个方法的影响。 NA 更多…
void resume (void)
恢复所有的调度过的选择器,动作和事件监听器。 这个方法被onEnter方法在内部调用。 更多…
void pause (void)
暂停所有的调度过的选择器,动作和事件监听器。 这个方法被onExit方法在内部调用。 更多…
CC_DEPRECATED_ATTRIBUTE void resumeSchedulerAndActions (void)
恢复所有的调度过的选择器,动作和事件监听器。 这个方法被onEnter方法在内部调用。 更多…
CC_DEPRECATED_ATTRIBUTE void pauseSchedulerAndActions (void)
暂停所有的调度过的选择器,动作和事件监听器。 这个方法被onExit方法在内部调用。 更多…
virtual void update (float delta)
virtual void updateTransform ()
递归的调用孩子的updateTransform()方法。 更多…
virtual const Mat4 & getNodeToParentTransform () const
返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。 这个矩阵以像素为单位。 更多…
virtual AffineTransform getNodeToParentAffineTransform () const
virtual void setNodeToParentTransform (const Mat4 &transform)
手动设置变换矩阵。 更多…
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform nodeToParentTransform () const
virtual const Mat4 & getParentToNodeTransform () const
返回这个将父节点的空间坐标系转换成节点(局部)的空间坐标系转的矩阵。 这个矩阵以像素为单位。 更多…
virtual AffineTransform getParentToNodeAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
返回世界仿射变换矩阵。矩阵单位是像素。 更多…
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
返回逆世界仿射变换矩阵。矩阵单位是像素。 更多…
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual CC_DEPRECATED_ATTRIBUTE AffineTransform worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
将Vec2 转换成节点 (局部) 空间坐标系。结果按以Points为单位。 更多…
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
将Vec2转换成世界空间坐标系。结果按以Points为单位。 更多…
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
将Vec2转换成节点(局部)空间坐标系. 更多…
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
将局部的Vec2转换成世界空间坐标系。结果按以Points为单位。 将returned/received节点的point当作相对应的锚点。 更多…
Vec2 convertTouchToNodeSpace (Touch touch) const
一个方便的方法将触摸转换成Vec2 更多…
Vec2 convertTouchToNodeSpaceAR (Touch touch) const
将Touch (世界坐标系) 转换成局部坐标系。这个方法是AR (相对的锚点). 更多…
void setAdditionalTransform (Mat4 additionalTransform)
为节点设置一个附加转换矩阵。 更多…
void setAdditionalTransform (const AffineTransform &additionalTransform)
Component getComponent (const std::string &pName)
通过名字得到组件 更多…
virtual bool addComponent (Component pComponent)
添加一个组件 更多…
virtual bool removeComponent (const std::string &pName)
通过名字删除一个组件 更多…
virtual void removeAllComponents ()
删除所有组件 更多…
- Public 成员函数 继承自 Ref
void retain ()
保留所有权. 更多…
void release ()
立即释放所有权. 更多…
Ref * autorelease ()
自动释放所有权在不久的将来. 更多…
unsigned int getReferenceCount () const
返回Ref对象当前的引用计数. 更多…
virtual ~Ref ()
NA NA 更多…
- Public 成员函数 继承自 TextureProtocol
virtual ~TextureProtocol ()
- Public 成员函数 继承自 BlendProtocol
virtual ~BlendProtocol ()
## 静态 Public 成员函数
static SpriteBatchNode createWithTexture (Texture2D tex, ssize_t capacity=DEFAULT_CAPACITY)
创建一个指定子节点纹理(texture2d)和容量(capacity)参数的SpriteBatchNode。 在运行期如超出预设容量则扩容33。 更多…
static SpriteBatchNode create (const std::string &fileImage, ssize_t capacity=DEFAULT_CAPACITY)
创建一个指定子节点纹理图像文件(.png、.jpeg、.pvr等)和容量(capacity)参数的SpriteBatchNode。 在运行期如超出预设容量则扩容33。 使用TextureMgr加载图像文件。 更多…
- 静态 Public 成员函数 继承自 Node
static Node create (void)
分配并且初始化一个节点. 更多…
## Public 属性
CC_CONSTRUCTOR_ACCESS pad0: SpriteBatchNode()
- Public 属性 继承自 Node
CC_CONSTRUCTOR_ACCESS pad0: Node()
## Protected 成员函数
void updateQuadFromSprite (Sprite sprite, ssize_t index)
在指定索引位置更新一个quad(顶点的坐标位置,纹理的坐标位置和颜色信息)到纹理集,参数中的Sprite不会添加到子节点数组。 此方法仅在处理一个很大的AtlasSprite且大部分Sprite不改变时调用。 例如:瓦片地图(TMXMap)或包含非常多字符的标签(LabelBMFont) 更多…
void updateAtlasIndex (Sprite sprite, ssize_t curIndex)
void swap (ssize_t oldIndex, ssize_t newIndex)
void updateBlendFunc ()
- Protected 成员函数 继承自 Node
void childrenAlloc (void)
较慢的分配 更多…
void insertChild (Node child, int z)
记录孩子的助手 更多…
void detachChild (Node *child, ssize_t index, bool doCleanup)
删除一个孩子,调用child->onExit(), 从子数列中做清理,并删除它。 更多…
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
转换cocos2d 坐标系到用户界面窗口坐标 更多…
Mat4 transform (const Mat4 &parentTransform)
virtual void updateCascadeOpacity ()
virtual void disableCascadeOpacity ()
virtual void updateCascadeColor ()
virtual void disableCascadeColor ()
virtual void updateColor ()
- Protected 成员函数 继承自 Ref
Ref ()
构造函数 更多…
## Protected 属性
TextureAtlas _textureAtlas
BlendFunc _blendFunc
BatchCommand _batchCommand
std::vector< Sprite > _descendants
- Protected 属性 继承自 Node
float _rotationX
X轴的旋转 更多…
float _rotationY
Y轴的旋转 更多…
float _rotationZ_X
旋转角度在Z轴,组件X轴 更多…
float _rotationZ_Y
旋转角度在Z轴,组件Y轴 更多…
float _scaleX
X轴的缩放因子 更多…
float _scaleY
Y轴的缩放因子 更多…
float _scaleZ
Z轴的缩放因子 更多…
Vec2 _position
节点的位置 更多…
float _positionZ
OpenGL 真正Z轴坐标位置 更多…
float _skewX
X轴的倾斜角 更多…
float _skewY
Y轴的倾斜角 更多…
Vec2 _anchorPointInPoints
锚点以points为单位 更多…
Vec2 _anchorPoint
正常的锚点(不是以points为单位的) 更多…
Size _contentSize
未转换节点的大小 更多…
Mat4 _modelViewTransform
节点的模型视图变换 更多…
Mat4 _transform
变换 更多…
bool _transformDirty
transform dirty flag 更多…
Mat4 _inverse
逆变换 更多…
bool _inverseDirty
inverse transform dirty flag 更多…
Mat4 _additionalTransform
变换 更多…
bool _useAdditionalTransform
The flag to check whether the additional transform is dirty. 更多…
bool _transformUpdated
是否Transform 对象在最后一帧更新了 更多…
int _localZOrder
Local 顺序 (和兄妹节点相关) 被用于节点的排序 更多…
float _globalZOrder
Global 顺序 用于节点的排序 更多…
Vector< Node > _children
子节点数列 更多…
Node _parent
父节点的弱引用 更多…
int _tag
一个标记. 你可以定义任何的数字来分辨这个节点 更多…
std::string _name
一个字符串标签, 一个用户定义的字符串来分辨这个节点 更多…
void _userData
一个用户分配的空指针,能够指向任何cpp对象 更多…
Ref _userObject
一个用户分配的对象 更多…
GLProgramState _glProgramState
OpenGL Program State. 更多…
int _orderOfArrival
用于保存序列当对有相同localZOrder的子节点进行排序 更多…
Scheduler _scheduler
调度器用于调度定时器和更新 更多…
ActionManager _actionManager
一个指向ActionManager singleton模式的指针, 用于操作所有的动作。 更多…
EventDispatcher _eventDispatcher
事件调度器使用调度各种事件 更多…
bool _running
活动中 更多…
bool _visible
节点可见 更多…
bool _ignoreAnchorPointForPosition
true 如果锚点 Vec2 是 (0,0) 当你拜访节点时, false则不是(0,0) 更多…
bool _reorderChildDirty
children order dirty flag 更多…
bool _isTransitionFinished
一个表明转换是否完成的标记 更多…
ComponentContainer * _componentContainer
Dictionary of components. 更多…
GLubyte _displayedOpacity
GLubyte _realOpacity
Color3B _displayedColor
Color3B _realColor
bool _cascadeColorEnabled
bool _cascadeOpacityEnabled
- Protected 属性 继承自 Ref
unsigned int _referenceCount
引用计数 更多…
## 额外继承的成员函数
- 静态 Public 属性 继承自 Node
static const int INVALID_TAG = -1
默认的标记用于所有的节点 更多…
- 静态 Protected 属性 继承自 Node
static int s_globalOrderOfArrival

详细描述

SpriteBatchNode与批量节点类似,如果包含子节点会在一次OpenGL调用内绘制完成(一般称为"batch draw")

一个SpriteBatchNode可以引用一个且只有一个纹理(一个图像文件或一个纹理集),只有包含该纹理的Sprite可以加入到SpriteBatchNode中。 加入SpriteBatchNode的所有Sprite在一次OpenGL ES调用内绘制完成,而未加入SpriteBatchNode的Sprite每一个都需要单独调用OpenGL ES绘制,这样效率比较低。

限制:

  • 只有Sprite或Sprite的子类对象才允许作为子节点(或孙子节点,等等)加入到SpriteBatchNode中,例如:particles、labels和layer不能加入SpriteBatchNode。
  • 所有子节点的"alias"属性必须统一为Aliased或Antialiased,不能二者同时存在,因为"alias"是纹理的属性,而SpriteBatchNode全部的子节点共用一个纹理。
  • 自从
  • v0.7.1

构造及析构函数说明

virtual ~SpriteBatchNode ( )

virtual

NA NA

成员函数说明

virtual void addChild ( Node * child,
int localZOrder,
int tag
)

overridevirtual

添加一个子节点到容器中,有Z轴顺序和一个标记。

如果子节点被添加到了一个“running(活动着的)”节点,那么'onEnter'喝 'onEnterTransitionDidFinish' 将会立即调用。

  • 参数
  • child一个子节点 zOrderZ轴顺序为了绘画的优先权。 请参考 setLocalZOrder(int) tag一个用来更容易分辨节点的整数。请参考 setTag(int)

重载 Node .

Label , 以及 TMXLayer 重载.

SpriteBatchNode addSpriteWithoutQuad ( Sprite child,
int z,
int aTag
)

void appendChild ( Sprite * sprite)

ssize_t atlasIndexForChild ( Sprite * sprite,
int z
)

static SpriteBatchNode* create ( const std::string & fileImage,
ssize_t capacity = DEFAULT_CAPACITY
)

static

创建一个指定子节点纹理图像文件(.png、.jpeg、.pvr等)和容量(capacity)参数的SpriteBatchNode。 在运行期如超出预设容量则扩容33。 使用TextureMgr加载图像文件。

static SpriteBatchNode createWithTexture ( Texture2D tex,
ssize_t capacity = DEFAULT_CAPACITY
)

static

创建一个指定子节点纹理(texture2d)和容量(capacity)参数的SpriteBatchNode。 在运行期如超出预设容量则扩容33。

virtual void draw ( Renderer * renderer,
const Mat4 & transform,
bool transformUpdated
)

overridevirtual

重写这个方法来绘制你自己的节点。 以下的GL状态是默认开启的:

  • glEnableClientState(GL_VERTEX_ARRAY);
  • glEnableClientState(GL_COLOR_ARRAY);
  • glEnableClientState(GL_TEXTURE_COORD_ARRAY);
  • glEnable(GL_TEXTURE_2D); 并且你不能够关闭他们在绘制完你的节点之后。 但是如果你开启了其他的GL状态,那么你要关闭他们在绘制完你的节点之后。

重载 Node .

Label 重载.

virtual const BlendFunc& getBlendFunc ( ) const

overridevirtual

NA NA

实现了 BlendProtocol.

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

inline

返回后代节点(子节点,孙子节点,等等)数组。 此函数为BatchNode特有,如需要返回子节点则使用getChildren函数替代。

virtual std::string getDescription ( ) const

overridevirtual

得到描述性的字符串。这将会使得调试更加简单。

  • 返回
  • 一个字符串 NA NA

重载 Node .

Label , 以及 TMXLayer 重载.

virtual Texture2D* getTexture ( ) const

overridevirtual

返回当前使用的所有的纹理

  • 返回
  • 当前使用的纹理 NA NA

实现了 TextureProtocol.

TextureAtlas* getTextureAtlas ( void )

inline

返回纹理集(TextureAtlas)对象

ssize_t highestAtlasIndexInChild ( Sprite * sprite)

void increaseAtlasCapacity ( )

bool init ( )

virtual

重载 Node .

bool initWithFile ( const std::string & fileImage,
ssize_t capacity
)

指定子节点纹理图像文件(.png、.jpeg、.pvr等)和容量(capacity)参数初始化SpriteBatchNode。 在运行期如超出预设容量则扩容33。 使用TextureMgr加载图像文件。 init init

bool initWithTexture ( Texture2D * tex,
ssize_t capacity
)

指定子节点纹理(texture2d)和容量(capacity)参数初始化SpriteBatchNode。 在运行期如超出预设容量则扩容33。

void insertQuadFromSprite ( Sprite * sprite,
ssize_t index
)

在指定索引位置插入一个quad(顶点的坐标位置,纹理的坐标位置和颜色信息)到纹理集,参数中的Sprite不会添加到子节点数组。 此方法仅在处理一个很大的AtlasSprite且大部分Sprite不改变时调用。 例如:瓦片地图(TMXMap)或包含非常多字符的标签(LabelBMFont)

ssize_t lowestAtlasIndexInChild ( Sprite * sprite)

ssize_t rebuildIndexInOrder ( Sprite * parent,
ssize_t index
)

virtual void removeAllChildrenWithCleanup ( bool cleanup)

overridevirtual

从容器中删除所有的孩子, 取决于cleanup参数同时会清除所有的活动的动作。

  • 参数
  • cleanuptrue 在这个节点上所有的动作和回调都会被删除, false 就不会删除。 removeAllChildren removeAllChildren

重载 Node .

virtual void removeChild ( Node * child,
bool cleanup
)

overridevirtual

从容器中删除一个孩子,取决于cleanup参数同时会清除所有的活动的动作。

  • 参数
  • child被删除的子节点。 cleanuptrue 在这个节点上所有的动作和回调都会被删除, false 就不会删除。

重载 Node .

TMXLayer 重载.

void removeChildAtIndex ( ssize_t index,
bool doCleanup
)

删除指定索引值(index)的子节点,根据doCleanup参数确定是否同时释放该节点。

  • 警告
  • 从SpriteBatchNode删除一个子节点非常慢

void removeSpriteFromAtlas ( Sprite * sprite)

void reorderBatch ( bool reorder)

virtual void reorderChild ( Node * child,
int localZOrder
)

overridevirtual

对一个孩子重新排序,设定一个新的z轴的值。

  • 参数
  • child一个已经被添加的子节点,它必须是已经添加的。 localZOrderZ轴顺序为了绘画优先级,请参考setLocalZOrder(int)

重载 Node .

virtual void setBlendFunc ( const BlendFunc & blendFunc)

overridevirtual

*当此函数绑定到js或lua时,函数参数将被改变

*js函数声明: var setBlendFunc(var src, var dst)

NA

实现了 BlendProtocol.

Label 重载.

virtual void setTexture ( Texture2D * texture)

overridevirtual

设置一个新的纹理,在内部会进行一次retain

  • 参数
  • texture有效的Texture2D对象 NA NA

实现了 TextureProtocol.

void setTextureAtlas ( TextureAtlas * textureAtlas)

inline

设置纹理集(TextureAtlas)对象

virtual void sortAllChildren ( )

overridevirtual

在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。 这个方法可以大量地提高性能。

  • 注解
  • 不要手动调用这个方法,除非一个添加过的子节点将要被删除在这个结构内。

重载 Node .

Label 重载.

void swap ( ssize_t oldIndex,
ssize_t newIndex
)

protected

void updateAtlasIndex ( Sprite sprite,
ssize_t curIndex
)

protected

void updateBlendFunc ( )

protected

void updateQuadFromSprite ( Sprite * sprite,
ssize_t index
)

protected

在指定索引位置更新一个quad(顶点的坐标位置,纹理的坐标位置和颜色信息)到纹理集,参数中的Sprite不会添加到子节点数组。 此方法仅在处理一个很大的AtlasSprite且大部分Sprite不改变时调用。 例如:瓦片地图(TMXMap)或包含非常多字符的标签(LabelBMFont)

virtual void visit ( Renderer * renderer,
const Mat4 & parentTransform,
bool parentTransformUpdated
)

overridevirtual

访问节点的孩子,并且循环递归的绘制它们。

重载 Node .

Label , 以及 TextFieldTTF 重载.

类成员变量说明

CC_CONSTRUCTOR_ACCESS pad0

BatchCommand _batchCommand

protected

BlendFunc _blendFunc

protected

std::vector<Sprite*> _descendants

protected

TextureAtlas* _textureAtlas

protected


该类的文档由以下文件生成: