继承关系

CCSprite -> CCNodeRGBA       ->   CCNode, CCRGBAProtocol

CCTextureProtocol

从继承关系可以看出,CCSprite也是一个CCNode的子类,在cocos2dx中,CCSprite抽象了舞台中的角色对象,类似舞台中的舞者,或者舞台中的某一个道具。

成员函数

static CCSprite* create();

static CCSprite* create(const char *pszFileName);

static CCSprite* create(const char *pszFileName, const CCRect& rect);

static CCSprite* createWithTexture(CCTexture2D *pTexture);

static CCSprite* createWithTexture(CCTexture2D *pTexture, const CCRect& rect);

static CCSprite* createWithSpriteFrame(CCSpriteFrame *pSpriteFrame);

static CCSprite* createWithSpriteFrameName(const char *pszSpriteFrameName);

创建函数,精灵一般需要一个纹理图片作为其参数,也有些函数有矩形,表示只需要用一部分纹理作为精灵

virtual void setPosition(const CCPoint& pos);

virtual void setRotation(float fRotation);

virtual void setRotationX(float fRotationX);

virtual void setRotationY(float fRotationY);

virtual void setSkewX(float sx);

virtual void setSkewY(float sy);

virtual void removeChild(CCNode* pChild, bool bCleanup);

virtual void removeAllChildrenWithCleanup(bool bCleanup);

virtual void reorderChild(CCNode *pChild, int zOrder);

virtual void addChild(CCNode *pChild);

virtual void addChild(CCNode *pChild, int zOrder);

virtual void addChild(CCNode *pChild, int zOrder, int tag);

virtual void sortAllChildren();

virtual void setScale(float fScale);

virtual void setVertexZ(float fVertexZ);

virtual void setAnchorPoint(const CCPoint& anchor);

virtual void ignoreAnchorPointForPosition(bool value);

virtual void setVisible(bool bVisible);

virtual void draw(void);

virtual void updateTransform(void);

以上接口时重载CCNode,这里不再赘述

virtual void setColor(const ccColor3B& color3);

virtual void updateDisplayedColor(const ccColor3B& parentColor);

virtual void setOpacity(GLubyte opacity);

virtual void setOpacityModifyRGB(bool modify);

virtual bool isOpacityModifyRGB(void);

virtual void updateDisplayedOpacity(GLubyte parentOpacity);

以上接口来自CCNodeRGBA,这里不再赘述

virtual CCSpriteBatchNode* getBatchNode(void);

virtual void setBatchNode(CCSpriteBatchNode *pobSpriteBatchNode);

设置CCSpriteBatchNode,但是建议用get接口,不建议用set接口

virtual void setTextureRect(const CCRect& rect);

virtual void setTextureRect(const CCRect& rect, bool rotated, const CCSize& untrimmedSize);

inline const CCRect& getTextureRect(void) { return m_obRect; }

设置纹理的矩形,来改变精灵

virtual void setDisplayFrame(CCSpriteFrame *pNewFrame);

virtual bool isFrameDisplayed(CCSpriteFrame *pFrame);

virtual CCSpriteFrame* displayFrame(void);

virtual void setDisplayFrameWithAnimationName(const char *animationName, int frameIndex);

设置显示帧,通过这些函数可以实现动画

inline virtual bool isDirty(void) { return m_bDirty; }

inline virtual void setDirty(bool bDirty) { m_bDirty = bDirty; }

dirty表明精灵需要更新

inline ccV3F_C4B_T2F_Quad getQuad(void) { return m_sQuad; }

获取坐标、顶点、颜色信息

inline bool isTextureRectRotated(void) { return m_bRectRotated; }

返回纹理图片是否旋转了

inline unsigned int getAtlasIndex(void) { return m_uAtlasIndex; }

inline void setAtlasIndex(unsigned int uAtlasIndex) { m_uAtlasIndex = uAtlasIndex; }

如果采用批渲染,返回/设置纹理地图集

inline CCTextureAtlas* getTextureAtlas(void) { return m_pobTextureAtlas; }

inline void setTextureAtlas(CCTextureAtlas *pobTextureAtlas) { m_pobTextureAtlas = pobTextureAtlas; }

获取/设置地图纹理

inline const CCPoint& getOffsetPosition(void) { return m_obOffsetPosition; }

获取位置

bool isFlipX(void);

void setFlipX(bool bFlipX);

bool isFlipY(void);

void setFlipY(bool bFlipY);

设置翻转

cocos2dx进阶学习之CCSprite的更多相关文章

  1. cocos2dx进阶学习之场景切换

    背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirect ...

  2. cocos2dx进阶学习之CCNode

    继承关系 CCNode  -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...

  3. cocos2dx进阶学习之CCScene

    继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); ...

  4. cocos2dx进阶学习之屏幕适配

    背景 在学习cocos2dx时,我们在main函数中发现一句代码, #include "main.h" #include "AppDelegate.h" #in ...

  5. cocos2dx进阶学习之CCEGLView

    继承关系 CCEGLView-> CCEGLViewProtocol CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以 ...

  6. cocos2dx进阶学习之CCAction

    CCAction在cocos2dx中,抽象了节点的动作.它由CCObject派生,因此它不是渲染节点. 它经常的用法是,创建一个action,然后让某个CCNode对象(一般是精灵),去执行它. 在马 ...

  7. cocos2dx进阶学习之CCSpriteBatchNode

    继承关系 CCSpriteBatchNode -> CCNode, CCTextureProtocol 成员变量 inline CCTextureAtlas* getTextureAtlas(v ...

  8. cocos2dx进阶学习之瓦片地图编辑器

    之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具 这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图 步骤1 将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是 ...

  9. cocos2dx进阶学习之CCTMXLayer

    继承关系 CCTMXLayer -> CCSpriteBatchNode CCTMXLayer是在瓦片地图中,抽象一个层的类,它继承自CCSpriteBatchNode,也就是说它抽象了一批相同 ...

随机推荐

  1. Introduction to Probability (5) Continus random variable

    CONTINUOUS RANDOM VARIABLES AND PDFS  连续的随机变量,顾名思义.就是随机变量的取值范围是连续的值,比如汽车的速度.气温.假设我们要利用这些參数来建模.那么就须要引 ...

  2. CFileDialog 打开文件夹文件 保存文件夹文件

    格式说明: explicit CFileDialog(    BOOL bOpenFileDialog,                         //TRUE 为打开, FALSE 为保存 L ...

  3. foundation 框架 NSString常用总结(二)

    以此作为NSString常用总结(一)的补充 NSString* str = [NSString stringWithFormat:@"I love programing! You, com ...

  4. 使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)

    最近在使用maven,顺便尝试了下tomcat部署.网上找到了很多资料但是都不是最新的,所以贴上比较新的Tomcat7部署代码和配置,方便以后回顾-->测试OK. 1. 首先是配置Tomcat ...

  5. centos6.5 升级python 到 python 2.7.11 安装 pip

    1.首先官方下载源码,然后安装(./configure,make all,make install,make clean,make distclean) 注意:需要先安装zlib-devel,open ...

  6. Oracle 奇葩的问题:创建存储过程没有反应

    问题描述:需要在oracle 数据库中再创建一个数据库(数据库实例)然后作为临时数据库,一切成功: 现在需要在数据库中新建一个表空间然后创建用户,使用创建的用户登录创建一个存储过程,执行提交刷新一下, ...

  7. Oracle10g--plSql命令

    每天学点Oracle10g--plSql命令 附录B SQL*PLUS Sql*plus 中使用绑定变量: sql> variable x number; sql> exec :x := ...

  8. ECMAScript 5中新增的数组方法

    ECMAScript 5中定义了9个新的数组方法,用于遍历.映射.过滤.检测.简化和搜索数组. 在开始介绍之前,很有必要对这几个新增的数组方法做一个概述.首先,大多数方法的第一个参数接收一个函数,并且 ...

  9. 在TreeWidget中增加右键菜单功能 以及TreeWidget的基本用法

    TreeWidget 与 TreeView 中实现右键菜单稍有不同, TreeView 中是靠信号与槽 connect(ui->treeView,SIGNAL(customContextMenu ...

  10. Android ScrollView嵌套HorizontalScrollView 滑动问题 ScrollView包括GridView显示问题

    今天项目使用到ScrollView嵌套HorizontalScrollView,ScrollView里包括GridView,发现几个问题非常经典.在此记录: 问题1.ScrollView嵌套Horiz ...