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

前端之家收集整理的这篇文章主要介绍了[cocos2d-x] --- CCNode类详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

2 CCObject类是cocos2d-x中所有对象的基类,CCObject封装了对象的引用计数和自动释放功能,下面是类图

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

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

猜你在找的Cocos2d-x相关文章