Email : awodefeng@163.com

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. java之StringBuffer类详解

    StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...

  2. java之AbstractStringBuilder类详解

    目录 AbstractStringBuilder类 字段 构造器 方法   public abstract String toString() 扩充容量 void  expandCapacity(in ...

  3. java之StringBuilder类详解

    StringBuilder 非线程安全的可变字符序列 .该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍).如果可能,建议优先采用该类,因为在 ...

  4. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  5. QAction类详解:

    先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action tha ...

  6. JAVAEE学习——struts2_01:简介、搭建、架构、配置、action类详解和练习:客户列表

    一.struts2是什么 1.概念 2.struts2使用优势以及历史 二.搭建struts2框架 1.导包 (解压缩)struts2-blank.war就会看到 2.书写Action类 public ...

  7. Struts2-整理笔记(二)常量配置、动态方法调用、Action类详解

    1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 - ...

  8. C# 内置 DateTime类详解

    C# 内置 DateTime类详解 摘抄自微软官方文档,用来方便自己查阅:网址:https://msdn.microsoft.com/zh-cn/library/system.datetime(v=v ...

  9. Android游戏开发之旅 View类详解

    Android游戏开发之旅 View类详解 自定义 View的常用方法: onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) ...

随机推荐

  1. C# Socket的TCP通讯 异步 (2015-11-07 10:07:19)转载▼

    异步 相对于同步,异步中的连接,接收和发送数据的方法都不一样,都有一个回调函数,就是即使不能连接或者接收不到数据,程序还是会一直执行下去,如果连接上了或者接到数据,程序会回到这个回调函数的地方重新往下 ...

  2. HBase Coprocessor 剖析与编程实践(转载http://www.cnblogs.com/ventlam/archive/2012/10/30/2747024.html)

    HBase Coprocessor 剖析与编程实践 1.起因(Why HBase  Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和. ...

  3. hdu Eddy's picture (最小生成树)

    Eddy's picture Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Tota ...

  4. JSP 基础

    定义 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但它相 ...

  5. 多校 Cow Bowling

    题目链接:http://acm.hust.edu.cn/vjudge/contest/124435#problem/I 密码:acm Sample Input Sample Output 分析: #i ...

  6. Python 安装matplotlib,six,dateutil,pyparsing 完整过程

    [摘要:正在做词频剖析的时间,须要用matlotlib 做图表,柱状图啥的,因而便最先了一个又一个的装置库的进程 由于matplotlib 须要依附很多其他科教盘算的第三圆库,须要一个一个的装置了.. ...

  7. Windows API 之 CreateThread、GetExitCodeThread(未完)

    GetExitCode Retrieves the termination status of the specified thread. BOOL WINAPI GetExitCodeThread( ...

  8. 使用Java管理千台规模Linux服务器_入门

    http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java  » 网络编程 搜 索   [饶过] 使用Java管理千 ...

  9. gridview中button事件处理

    http://msdn.microsoft.com/zh-cn/library/bb907626.aspx 再结合如下: protected void GridView1_RowCommand(obj ...

  10. 简单的划分数问题<划分问题>

    将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 思路: 动态规 ...