文章引用自http://blog.csdn.net/qiurisuixiang/article/details/8763260

1 CCNode是cocos2d-x中一个非常重要的类。CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时。接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode类

2 CCObject类是cocos2d-x中全部对象的基类,CCObject封装了对象的引用计数和自己主动释放功能,以下是类图

3 由于场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode。以下解释了CCNode中经常使用的方法

  1. //初始化CCNode
  2. bool init();
  3. //生成CCNode对象
  4. CCNode * create(void);
  5. //获取描写叙述字符串 便于调试
  6. const char* description(void);
  7. //设置节点Z轴顺序 当有多个节点在Z轴显示时 引擎会依据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的
  8. void setZOrder(int zOrder);
  9. void _setZOrder(int z);
  10. //获取节点Z轴顺序
  11. int getZOrder();
  12. //设置OpenGL Z轴顶点
  13. void setVertexZ(float vertexZ);
  14. //获取OpenGL Z轴顶点
  15. float getVertexZ();
  16. //设置节点X轴比例因子
  17. void setScaleX(float fScaleX);
  18. //获取节点X轴比例因子
  19. float getScaleX();
  20. //设置节点Y轴比例因子
  21. void setScaleY(float fScaleY);
  22. //获取节点Y轴比例因子
  23. float getScaleY();
  24. //设置节点比例因子 同一时候设置X轴、Y轴
  25. void setScale(float scale);
  26. //获取节点比例因子 必须X轴、Y轴比例因子相等
  27. float getScale();
  28. //设置节点(x, y)在OpenGL中的坐标
  29. void setPosition(const CCPoint &position);
  30. //获取节点(x, y)在OpenGL中的坐标
  31. const CCPoint& getPosition();
  32. //设置节点(x, y)在OpenGL中的坐标
  33. void setPosition(float x, float y);
  34. //获取节点(x, y)在OpenGL中的坐标
  35. void getPosition(float* x, float* y);
  36. //设置节点在OpenGL中的X坐标
  37. void setPositionX(float x);
  38. //获取节点在OpenGL中的X坐标
  39. float getPositionX(void);
  40. //设置节点在OpenGL中的Y坐标
  41. void setPositionY(float y);
  42. //获取节点在OpenGL中的Y坐标
  43. float getPositionY(void);
  44. //设置X轴的倾斜角度
  45. void setSkewX(float fSkewX);
  46. //获取X轴的倾斜角度
  47. float getSkewX();
  48. //设置Y轴的倾斜角度
  49. void setSkewY(float fSkewY);
  50. //获取Y轴的倾斜角度
  51. float getSkewY();
  52. //设置节点锚点的位置
  53. void setAnchorPoint(const CCPoint& anchorPoint);
  54. //获取节点锚点的位置
  55. const CCPoint& getAnchorPoint();
  56. //设置节点的尺寸
  57. void setContentSize(const CCSize& contentSize);
  58. //获取节点的尺寸
  59. const CCSize& getContentSize();
  60. //设置节点是否可见
  61. void setVisible(bool visible);
  62. //获取节点是否可见
  63. bool isVisible();
  64. //设置节点自转角度
  65. void setRotation(float fRotation);
  66. //获取节点自转角度
  67. float getRotation();
  68. //zOrder 当有多个节点在Z轴显示时 引擎会依据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的
  69. //加入子节点 zOrder默觉得0
  70. void addChild(CCNode * child);
  71. //加入子节点
  72. void addChild(CCNode * child, int zOrder);
  73. //加入子节点 指定节点zOrder和节点tag
  74. void addChild(CCNode* child, int zOrder, int tag);
  75. //通过tag名称获取节点
  76. CCNode * getChildByTag(int tag);
  77. //获取全部子节点
  78. CCArray* getChildren();
  79. //获取子节点数目
  80. unsigned int getChildrenCount(void);
  81. //设置子节点的父节点
  82. void setParent(CCNode* parent);
  83. //获取子节点的父节点
  84. CCNode* getParent();
  85. //从父节点中删除当前子节点
  86. void removeFromParent();
  87. //从父节点中删除当前子节点 假设Cleanup为true则删除当前节点的全部动作及回调函数
  88. void removeFromParentAndCleanup(bool cleanup);
  89. //从父节点中删除当前子节点 假设Cleanup为true则删除当前节点的全部动作
  90. void removeChild(CCNode* child);
  91. //从父节点中删除当前子节点 并指定Cleanup
  92. void removeChild(CCNode* child, bool cleanup);
  93. //通过tag名称移除节点
  94. void removeChildByTag(int tag);
  95. //通过tag名称移除节点并指定Cleanup
  96. void removeChildByTag(int tag, bool cleanup);
  97. //移除全部子节点
  98. void removeAllChildren();
  99. //移除全部子节点 并指定Cleanup
  100. void removeAllChildrenWithCleanup(bool cleanup);
  101. //又一次设定节点的zOrder
  102. void reorderChild(CCNode * child, int zOrder);
  103. //又一次排序全部子节点
  104. void sortAllChildren();
  105. //获取节点的tag名称
  106. int getTag();
  107. //设置节点的tag名称
  108. void setTag(int nTag);
  109. //获取节点的CCCamera摄像机 cocos2d-x是通过3D方式绘制2D效果
  110. CCCamera* getCamera();
  111. //推断当前节点是否在执行
  112. bool isRunning();
  113. //节点開始进入舞台时的回调事件
  114. void onEnter();
  115. //节点进入舞台时的回调事件
  116. void onEnterTransitionDidFinish();
  117. //节点离开舞台时的回调事件
  118. void onExit();
  119. //停止全部执行的动作和回调函数
  120. void cleanup(void);
  121. //绘制节点
  122. void draw(void);
  123. //递归visit子节点并重绘
  124. void visit(void);
  125. //返回节点对象的矩形框(由坐标宽高组成)
  126. CCRect boundingBox(void);
  127. //设置CCActionManager对象被全部动作使用
  128. void setActionManager(CCActionManager* actionManager);
  129. //获取被全部动作使用的CCActionManger
  130. CCActionManager* getActionManager();
  131. //执行动作
  132. CCAction* runAction(CCAction* action);
  133. //停止动作
  134. stopAction(CCAction* action);
  135. //停止全部动作
  136. void stopAllActions(void);
  137. //通过tag名称获取动作
  138. CCAction* getActionByTag(int tag);
  139. //获取正在执行的动作数量
  140. unsigned int numberOfRunningActions(void);
  141. //定义一个定时器
  142. void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
  143. //定义一个定时器
  144. void schedule(SEL_SCHEDULE selector, float interval);
  145. //取消一个定时器
  146. void unschedule(SEL_SCHEDULE selector);
  147. //取消全部定时器
  148. void unscheduleAllSelectors(void);
  149. //暂停全部定时器和动作
  150. void pauseSchedulerAndActions(void);
  151. //恢复全部定时器和动作
  152. void resumeSchedulerAndActions(void);

cocos2d-x CCNode类的更多相关文章

  1. cocos2d CCNode类(节点属性大全)

    1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场景.层.菜单.精灵等.所以有必要先弄懂CCNode类 ...

  2. [cocos2d-x] --- CCNode类详解

    Email : awodefeng@163.com 1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场 ...

  3. cocos2d中个类之间的关系

    1.Director类: (1)单例类Director::getInstance()  ,获取导演类对象 (2)设置游戏配置(OpenGL),推动游戏发展 runWithSence.replaceSe ...

  4. cocos2d menu菜单类

    // 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CC ...

  5. [原创]cocos2d-x研习录-第二阶 概念类之节点类(CCNode)

    节点类CCNode在基本概念中并不存在,它是为了建立基本概念之间的关联关系而抽象出来的中间辅助类.这个类在Cocos2D-x中极为重要,它为概念类之间搭建了一座宏伟的桥梁.它的继承关系图如下:     ...

  6. Cocos2D研究院之CCNode详解(三)

    http://www.xuanyusong.com/archives/950 上一章我们了解了cocos2d的项目路径以及工作原理,这次作者要真刀真枪地讲解代码了,咱们先来看看cocos2d最常用.也 ...

  7. Cocos2D-x权威指南:核心类成员CCNode

    节点类(CCNode)是Cocos2D-x中的主要类,继承自CCObject.继承关系如图3-2所看到的. 不论什么须要画在屏幕上的对象都是节点类. 最经常使用的节点类包含场景类(CCScene).布 ...

  8. ios游戏开发--cocos2d学习(2)

    在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收.旋转.移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用 ...

  9. cocos2d粒子效果

    第9章 粒子效果 游戏开发者通常使用粒子系统来制作视觉特效.粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵.粒子系统可以模拟下雨.火焰.雪.爆炸.蒸气拖尾以及其他多 ...

随机推荐

  1. lua 与 php 通过AES数据加密进行通讯

    近期公司有款<围住神经猫>的微信小游戏火爆的不行!公司又决定开发一系列的神经猫的小游戏,于是,我被拉过来了. 后来使用cocos-2dx 开发一款小游戏,client用的是lua脚本,为了 ...

  2. Oracle的序列

    Oracle的序列 序列介绍 序列是Oracle提供的用于产生一系列唯一数字的数据库对象. 使用序列能够实现自己主动产生主键值.序列也能够在很多用户并发环境中使用.为所实用户生成不反复的顺序数字,并且 ...

  3. ASP.NET - Eval数据绑定

    <!--新闻分类--> <div id ="category" class ="Frm"> <h4>新闻分类</h4& ...

  4. 删除workspace下的vss的scc文件

    public class DeleteAA { public static void main(String[] args) { DeleteAA aa=new DeleteAA(); aa.dele ...

  5. Java自注三进入

    由于近期学的内容实际操作比較多,所以新的笔记就用代码为主体吧! 本回主要内容是输入,Java中主要用Scanner类和BufferedReader.整体来说不难,但有些细节能够总结,看代码: impo ...

  6. uva 11212

    非原创!!! 原作者地址:http://www.hardbird.net/?p=238

  7. Ubuntu下装QQ2012,让linux小白们不怕脱离windows

    嘿嘿,很多人可能跟我一样,QQ上同学群里会通知一些事项,所以我们希望可以在linux下开QQ,但是QQ官网做的QQ For Linux, 实在是烂的不行 那么怎么在linux下装我们平时在window ...

  8. js之checkbox的代码全选/全不选,使用id获取元素,而不是name

    每当有多个选项的时候,都会有一种想法是:全选,全不选,如果子选项有被选,父选项也得被选. 注意:这里是根据id来获取元素的,但是不能直接用getElementById,因为那只能返回一个,而不是集合. ...

  9. 【Visual C++】Windows GDI贴图闪烁解决方法

    一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...

  10. win32 sdk树形控件的项拖拽实现

    本课中,我们将学习如何使用树型视图控件.另外还要学习如何在树型视图中完成拖-拉动作,以及如何使用图象列表. 理论: 树型视图是一种特别的窗口,我们可以使用它一目了然地表示某种层次关系.譬如象在资源管理 ...