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

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

wKiom1LOpcWxEtyTAAA-t9BRE60319.jpg


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

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

wKioL1LOpjbwRGbSAAIdNChTGG4300.jpg

wKiom1LOplyTslP5AAFb9PRkqqw392.jpg

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

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

下面是调用代码:

wKioL1LOppqBFUR3AABGYtVK55k643.jpg


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

wKiom1LOpsihKfKHAACw9MB_ttQ854.jpg

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


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