cocos2d-x自制工具07:打印cocos2d-x的节点树

原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://4137613.blog.51cto.com/4127613/1350243

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

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

cocos2d-x自制工具07:打印cocos2d-x的节点树_第1张图片


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

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

cocos2d-x自制工具07:打印cocos2d-x的节点树_第2张图片

cocos2d-x自制工具07:打印cocos2d-x的节点树_第3张图片

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

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

下面是调用代码:

wKioL1LOppqBFUR3AABGYtVK55k643.jpg


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

cocos2d-x自制工具07:打印cocos2d-x的节点树_第4张图片

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


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

本文出自 “老G的小屋” 博客,请务必保留此出处http://4137613.blog.51cto.com/4127613/1350243

你可能感兴趣的:(cocos2d)