文章引用自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. SilkTest Q&A 12

    111. 谁能告诉我,正在执行的SilkTest的log是存放在哪里? 答案1: 用下面的命令可以导出文本格式的log "c:/program files/segue/silktest/pa ...

  2. 纯css实现苹果表盘动画

    欢迎訪问我们的博客:http://www.w3ctrain.com/2015/07/06/Apple-Watch-Dials/ 随着苹果表的大量生产,我想.用CSS来实现拨号动画的时候到了. 在这篇文 ...

  3. Windows Azure入门教学系列 (二):部署第一个Web Role程序

    本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...

  4. Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景)

    1.Storm全面.系统.深入讲解,采用最新的稳定版本Storm 0.9.0.1 :   2.注重实践,对较抽象难懂的技术点如Grouping策略.并发度及线程安全.批处理事务.DRPC.Storm ...

  5. javascript 变量转义

    $(this).append('<a href="2-1partner.html"><div><img width="645" h ...

  6. POJ 2594 Treasure Exploration(最小路径覆盖变形)

    POJ 2594 Treasure Exploration 题目链接 题意:有向无环图,求最少多少条路径能够覆盖整个图,点能够反复走 思路:和普通的最小路径覆盖不同的是,点能够反复走,那么事实上仅仅要 ...

  7. AVL树----java

                                                                                        AVL树----java AVL ...

  8. Effective C++_笔记_条款01_视C++为一个语言联邦

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) C++的各种能力和特性使它成为一个无可匹敌的工具,但也可能引发某 ...

  9. Ubuntu 环境安装整理

    Ubuntu11.04下Java开发环境搭建和配置 转自:http://guoyunsky.iteye.com/blog/1175861 类似的搭建,网上一搜一大把,但每次去搜索比较麻烦.我这里就整理 ...

  10. VS2010 编译安装boost库

    实践是最好的办法..学习C++,想试试线程,然后打算用boost库,结果boost库编译差点吓到我..没看到比较完整的安装教程..一直耽搁.今天动手.完成了.方法记录如下:1.下载boost从boos ...