文章引用自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. 【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])

    需求,要求批量新增或者改动一个List,在Spring MVC中是不支持以下代码的写法 @RequestMapping(value = "/update", method = Re ...

  2. Spring通过工厂创建实例的注意事项

    假设第三方(or别的team)提供一个工厂类(此类是不能够改动的.往往以jar包形式提供的),须要供给我们项目来使用. 可是我们自己的项目使用了spring来配置,所以我们当然希望可以通过spring ...

  3. db2 用户权限

        DB2数据库权限分为实例级权限(SYSADM.SYSCTRL.SYSMAINT.SYSMON)和DB2数据库级权限(DBAMD.LOAD).DB2中用户所拥有的权限主要考虑三个方面:实例级.数 ...

  4. fzu 2035 Axial symmetry(枚举+几何)

    题目链接:fzu 2035 Axial symmetry 题目大意:给出n个点,表示n边形的n个顶点,判断该n边形是否为轴对称图形.(给出点按照图形的顺时针或逆时针给出. 解题思路:将相邻两个点的中点 ...

  5. C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用

    原文  C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用 在开发的时候,碰到下面这样一个问题: 在程序中显示当前系统时间,但是有一 ...

  6. ASP.NET - cookie

    下面是写cookie  HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项  DateTime dt ...

  7. 2015 Multi-University Training Contest 8

    Hdu 5385 The path 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5385 题意:有一个联通的有向图,d(x)用来记录从1点到x点的最短 ...

  8. jbpm部署流程定义到MySql报乱码解决方案

    问题起因: 我在使用ant将流程定义和流程相关资源部署到JBPM数据库中的时候,报了下面一个错误. 错误提示,大概是: 11:33:40,781 ERROR JDBCExceptionReporter ...

  9. UVA 10795 - A Different Task(递归)

     A Different Task  The (Three peg) Tower of Hanoi problem is a popular one in computer science. Brie ...

  10. RPC 的概念模型与实现解析(转)

    今天分布式应用.云计算.微服务大行其道,作为其技术基石之一的 RPC 你了解多少?一篇 RPC 的技术总结文章,数了下 5k+ 字,略长,可能也不适合休闲的碎片化时间阅读,可以先收藏抽空再细读:) 全 ...