Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[cocos2d-x] --- CCNode类详解大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

  1. //初始化CCNode
  2. boolinit();
  3. //生成CCNode对象
  4. CCNode*create(void);
  5. //获取描述字符串便于调试
  6. constchar*description(void);
  7. //设置节点Z轴顺序当有多个节点在Z轴显示时引擎会根据它们Z轴的大小决定绘制顺序Z轴大的会覆盖Z轴小的
  8. voidsetZOrder(intzOrder);
  9. void_setZOrder(intz);
  10. //获取节点Z轴顺序
  11. intgetZOrder();
  12. //设置OpenGLZ轴顶点
  13. voidsetVertexZ(floatvertexZ);
  14. //获取OpenGLZ轴顶点
  15. floatgetVertexZ();
  16. //设置节点X轴比例因子
  17. voidsetScaleX(floatfScaleX);
  18. //获取节点X轴比例因子
  19. floatgetScaleX();
  20. //设置节点Y轴比例因子
  21. voidsetScaleY(floatfScaleY);
  22. //获取节点Y轴比例因子
  23. floatgetScaleY();
  24. //设置节点比例因子同时设置X轴、Y轴
  25. voidsetScale(floatscale);
  26. //获取节点比例因子必须X轴、Y轴比例因子相等
  27. floatgetScale();
  28. //设置节点(x,y)在OpenGL中的坐标
  29. voidsetPosition(constCCPoint&position);
  30. //获取节点(x,153); font-weight:bold; background-color:inherit">constCCPoint&getPosition();
  31. voidsetPosition(floatx,floaty);
  32. voidgetPosition(float*x,87); font-weight:bold; background-color:inherit">float*y);
  33. //设置节点在OpenGL中的X坐标
  34. voidsetPositionX(floatx);
  35. //获取节点在OpenGL中的X坐标
  36. floatgetPositionX(//设置节点在OpenGL中的Y坐标
  37. voidsetPositionY(floaty);
  38. //获取节点在OpenGL中的Y坐标
  39. floatgetPositionY(//设置X轴的倾斜角度
  40. voidsetSkewX(floatfSkewX);
  41. //获取X轴的倾斜角度
  42. floatgetSkewX();
  43. //设置Y轴的倾斜角度
  44. voidsetSkewY(floatfSkewY);
  45. //获取Y轴的倾斜角度
  46. floatgetSkewY();
  47. //设置节点锚点的位置
  48. voidsetAnchorPoint(constCCPoint&anchorPoint);
  49. //获取节点锚点的位置
  50. constCCPoint&getAnchorPoint();
  51. //设置节点的尺寸
  52. voidsetContentSize(constCCSize&contentSize);
  53. //获取节点的尺寸
  54. constCCSize&getContentSize();
  55. //设置节点是否可见
  56. voidsetVisible(boolvisible);
  57. //获取节点是否可见
  58. boolisVisible();
  59. //设置节点自转角度
  60. voidsetRotation(floatfRotation);
  61. //获取节点自转角度
  62. floatgetRotation();
  63. //zOrder当有多个节点在Z轴显示时引擎会根据它们Z轴的大小决定绘制顺序Z轴大的会覆盖Z轴小的
  64. //添加子节点zOrder默认为0
  65. voidaddChild(CCNode*child);
  66. //添加子节点
  67. voidaddChild(CCNode*child,0); background-color:inherit">//添加子节点指定节点zOrder和节点tag
  68. intzOrder,87); font-weight:bold; background-color:inherit">inttag);
  69. //通过tag名称获取节点
  70. CCNode*getChildByTag(inttag);
  71. //获取所有子节点
  72. CCArray*getChildren();
  73. //获取子节点数目
  74. unsignedintgetChildrenCount(//设置子节点的父节点
  75. voidsetParent(CCNode*parent);
  76. //获取子节点的父节点
  77. CCNode*getParent();
  78. //从父节点中删除当前子节点
  79. voidremoveFromParent();
  80. //从父节点中删除当前子节点如果Cleanup为true则删除当前节点的所有动作及回调函数
  81. voidremoveFromParentAndCleanup(boolcleanup);
  82. //从父节点中删除当前子节点如果Cleanup为true则删除当前节点的所有动作
  83. voidremoveChild(CCNode*child);
  84. //从父节点中删除当前子节点并指定Cleanup
  85. voidremoveChild(CCNode*child,0); background-color:inherit">//通过tag名称移除节点
  86. voidremoveChildByTag(//通过tag名称移除节点并指定Cleanup
  87. inttag,0); background-color:inherit">//移除所有子节点
  88. voidremoveAllChildren();
  89. //移除所有子节点并指定Cleanup
  90. voidremoveAllChildrenWithCleanup(//重新设定节点的zOrder
  91. voidreorderChild(CCNode*child,0); background-color:inherit">//重新排序所有子节点
  92. voidsortAllChildren();
  93. //获取节点的tag名称
  94. intgetTag();
  95. //设置节点的tag名称
  96. voidsetTag(intnTag);
  97. //获取节点的CCCamera摄像机cocos2d-x是通过3D方式绘制2D效果
  98. CCCamera*getCamera();
  99. //判断当前节点是否在运行
  100. boolisRunning();
  101. //节点开始进入舞台时的回调事件
  102. voidonEnter();
  103. //节点进入舞台时的回调事件
  104. voidonEnterTransitionDidFinish();
  105. //节点离开舞台时的回调事件
  106. voidonExit();
  107. //停止所有运行的动作和回调函数
  108. voidcleanup(//绘制节点
  109. voiddraw(//递归visit子节点并重绘
  110. voidvisit(//返回节点对象的矩形框(由坐标宽高组成)
  111. CCRectboundingBox(//设置CCActionManager对象被所有动作使用
  112. voidsetActionManager(CCActionManager*actionManager);
  113. //获取被所有动作使用的CCActionManger
  114. CCActionManager*getActionManager();
  115. //执行动作
  116. CCAction*runAction(CCAction*action);
  117. //停止动作
  118. stopAction(CCAction*action);
  119. //停止所有动作
  120. voidstopAllActions(//通过tag名称获取动作
  121. CCAction*getActionByTag(//获取正在运行的动作数量
  122. intnumberOfRunningActions(//定义一个定时器
  123. voidschedule(SEL_SCHEDULEselector,87); font-weight:bold; background-color:inherit">floatinterval,unsignedintrepeat,87); font-weight:bold; background-color:inherit">floatdelay);
  124. floatinterval);
  125. //取消一个定时器
  126. voidunschedule(SEL_SCHEDULEselector);
  127. //取消所有定时器
  128. voidunscheduleAllSelectors(//暂停所有定时器和动作
  129. voidpauseSchedulerAndActions(//恢复所有定时器和动作
  130. voidresumeSchedulerAndActions(void);

大佬总结

以上是大佬教程为你收集整理的[cocos2d-x] --- CCNode类详解全部内容,希望文章能够帮你解决[cocos2d-x] --- CCNode类详解所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: