文章引用自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. Ubuntu Crontab

    Ubuntu启用Crontab 启动cron服务: service cron start 如果需要设置为开机时自动启动,则执行 sysv-rc-conf --level 35 cron on 另外,u ...

  2. Nginx负载均衡:分布式/热备Web Server的搭建

    Nginx是一款轻量级的Web server/反向代理server及电子邮件(IMAP/POP3)代理server.并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开 ...

  3. abap优化工具事务代码: ST05

  4. Selenium WebDriver java 简单实例

    开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http ...

  5. AngularJS之Service4

    AngularJS之Service(四)   前言 前面我们讲了控制器.过滤器以及指令,这一节我们来讲讲重大内容之一服务和其中涉及到的工厂. 话题 AngularJS中服务可以说是和DI紧密联系在一起 ...

  6. Indy10.2.5的危险做法

    为了排查一个Bug今天无意看了看Indy源码,结果吓了一跳.TIdIOHandler.ReadLongWord函数用于读取通讯数据并转换成LongWord类型返回,它做用了一种危险的做法可能会导致数据 ...

  7. 用DELPHI的RTTI实现对象的XML持久化

    去年我花了很多时间尝试用DELPHI进行基于XML的WEB应用开发.起初的设想是很美好的,但结果做出来的东西很简陋.一部分原因就在于XML到Object之间的数据绑定实现太麻烦(另一部分是因为对XSL ...

  8. 基于visual Studio2013解决面试题之0308Fibonacci数列

     题目

  9. ListView+CheckBox两种解决方式及原因分析

    近期在用ListView+CheckBox搞一个item选中的项目,我将CheckBox的focus设置为false,另我大喜的是,CheckBox居然能够选中(窃喜中),这么简单就搞定了,由于数据量 ...

  10. 查找附近网点geohash算法及实现 (Java版本号)

    參考文档: http://blog.csdn.net/wangxiafghj/article/details/9014363geohash  算法原理及实现方式 http://blog.charlee ...