都说cocos2d-x是基于节点树渲染的2D引擎(还有一种是用指令方式进行绘制的引擎,在功能机时代很常见)。

但是节点树是神马玩意,节点树是神马概念。最近市面上cocos2d-x的书比较多,如果你有幸买了一本的话,上面大约会写上因为opengl的绘制方式xxx,所以我们xxx,然后xxx。恩。但是这非常抽象。很不直观。

而且,关于节点树的引擎,其实在进行绘图位置调试时,是有缺陷的。因为用的全是相对坐标,你经常搞不清楚把东西到底画哪去了,是跑屏幕外面了,还是被神马东西盖住了。这块就不如指令方式绘制的代码来的直观。

为了让大家能实际的看到这颗树,也为了方便你调试绘图位置。我做了一个简单的代码,可以在控制台输出整棵树,当然根节点是由你来选择的。代码如下:

很简单的递归输出,然后我们只有打印一下输出变量s就行。

但是要注意,因为在渲染时可能存在对子节点的重排序,所以为了保证输出的结果正确,你要先强制重排序一把。

下面是调用代码:

我们来打印helloworld例子里面的那颗节点树。下面是输出结果:

这个代码可以做很多功能,当然你可以自己扩充一下咯。

代码下载在底下:(引擎版本2.13)

附件:http://down.51cto.com/data/2363967

本文转自 老G 51CTO博客,原文链接:http://blog.51cto.com/goldlion/1350243,如需转载请自行联系原作者

cocos2d-x自制工具07:打印cocos2d-x的节点树相关推荐

  1. cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)

    原文地址:cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)作者:七贤林子 在cocos2d  0.9及以下版本中,CCAnimation中可以使用animationWit ...

  2. Cocos2d之Node类详解之节点树(二)

    一.声明 本文属于笔者原创,允许读者转载和分享,只要注明文章来源即可. 笔者使用cocos2d框架的cocos2d-x-3.3rc0版本的源代码做分析.这篇文章承接上篇<Cocos2d之Node ...

  3. 【基于C++面向WindowAPI的自制工具】随机数按位生成器

    [基于C++面向WindowAPI的自制工具]随机数按位生成器 [by_041] 主要想到以前要定时抢淘宝限量货品的时候每次都是记录式的编码,导致代码量极大,工程效率极低. 现尝试使用记录操作信息的方 ...

  4. Unity 自制工具:Point。方便标记出生点或巡逻点等功能。

    Unity 自制工具:Point.方便标记出生点或巡逻点等功能. 之前的一篇点的封装:Unity 实现出生点(Spawn Points)的Scriptable封装 工具源码:Point For Uni ...

  5. chatgpt赋能python:Python编写录屏软件:方便、高效的自制工具

    Python编写录屏软件:方便.高效的自制工具 录屏软件是一种能够将电脑屏幕上的活动记录下来的工具,通常用于制作教学视频.游戏攻略视频等.市面上有很多录屏软件可供选择,但是有时候这些软件不够灵活,无法 ...

  6. C语言打印链表的中间节点的算法(附完整源码)

    C语言打印链表的中间节点的算法 C语言打印链表的中间节点的算法完整源码(定义,实现,main函数测试) C语言打印链表的中间节点的算法完整源码(定义,实现,main函数测试) #include < ...

  7. 算法总结之 打印二叉树的边界节点

    给定一棵二叉树的头节点head, 按照两种标准分别实现二叉树边界节点的逆时针打印 标准一 头节点为边界节点 叶节点为边界节点 如果节点在其所在的层中是最左或者最右边,那么也是边界节点 标准二 头节点作 ...

  8. Cocos2d使用TexturePacker工具打包生成plist和pvr.ccz文件方法总结

    我们用TexturePacker工具打包生成了plist和pvr.ccz文件,那么下一步,我们就该获取plist中的信息了. Cocos2d中SpriteFrameCache通常用来处理plist文件 ...

  9. cocos2d-x自制工具01:AnimatePacker

    转载此文的目的是为了自己以后查找方便~ 原始出处 一.引子 哦,好吧,我一直比较吐槽cocos2d-x那个动画加载方式,记得我在<cocos2d-x学习笔记04:简单动画>中写的,一个简单 ...

  10. java实现续打功能_浅谈报表工具的打印方案

    报表工具除了基本的绘制报表,完成数据呈现(也就是让终端用户能看到报表),打印也是报表的基本功能之一. 当前报表工具很多,可以按地域.开闭源等划分,包括有杰表.水晶.Style Report.birt. ...

最新文章

  1. mysql 手工注入教程_mysql手工注入步骤
  2. thinkphp隐藏后台地址
  3. mysql死锁检测算法_MySQL 8 死锁检测脚本
  4. python boolean_Python成为专业人士笔记-Boolean 布尔操作符研究
  5. mysql 变量被引号括住_【已解决】mysql中操作表的字段名时是否一定要用反引号括起来...
  6. 正月十五元宵节中国风海报PSD分层模板找灵感!
  7. 获取公司的maven库 和 idea maven 中Projects Settings的Libraries中正常,但是在Maven Projects中Dependencies一直出现红线的解决办法
  8. eps如何建立立体白模_EPS 三维测图系统(垂直摄影)快速入门手册.pdf
  9. Excel怎么合并单元格
  10. pikachu靶场打靶分析
  11. GATK GATK best practices notes
  12. 根据条件对Excel表中数据进行计数
  13. [ZGC升级记录](to-space exhausted/Evacuation Failure)
  14. [elasticsearch笔记] Query DSL - percolate
  15. win8.1怎样打开计算机名,Win8怎么打开cmd命令窗口_Win8.1打开命令提示符的方法-192路由网...
  16. 随机过程(random process)
  17. C++——求平均数、求和函数
  18. Unity3D 游戏引擎之构建简单的游戏世界(三)
  19. 计算机DNS怎么配置,电脑dns地址设置为多少
  20. 基于Java毕业设计宠物店管理系统源码+系统+mysql+lw文档+部署软件

热门文章

  1. oracle之三 自动任务调度
  2. My SQL中show命令--MySQL中帮助查看
  3. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
  4. 4.2 set和multiset
  5. EntityFramework在root目录web.config中的配置设置
  6. java进阶06 线程初探
  7. Y COMBINATOR的六大强悍女人-转自应用电台
  8. 【eclipse】启动不了报错java was started but returned exit code=13
  9. 学习笔记: cdq分治
  10. BZOJ_1003_[ZJOI2006]_物流运输_(动态规划+最短路)