本文出自 “老G的小屋”
博客,轉載地址:http://4137613.blog.51cto.com/4127613/1350243
都說cocos2d-x是基於節點樹渲染的2D引擎(還有一種是用指令方式進行繪製的引擎,在功能機時代很常見)。
但是節點樹是神馬玩意,節點樹是神馬概念。最近市面上cocos2d-x的書比較多,如果你有幸買了一本的話,上面大約會寫上因爲opengl的繪製方式xxx,所以我們xxx,然後xxx。恩。但是這非常抽象。很不直觀。
而且,關於節點樹的引擎,其實在進行繪圖位置調試時,是有缺陷的。因爲用的全是相對座標,你經常搞不清楚把東西到底畫哪去了,是跑屏幕外面了,還是被神馬東西蓋住了。這塊就不如指令方式繪製的代碼來的直觀。
爲了讓大家能實際的看到這顆樹,也爲了方便你調試繪圖位置。我做了一個簡單的代碼,可以在控制檯輸出整棵樹,當然根節點是由你來選擇的。代碼如下:
很簡單的遞歸輸出,然後我們只有打印一下輸出變量s就行。
但是要注意,因爲在渲染時可能存在對子節點的重排序,所以爲了保證輸出的結果正確,你要先強制重排序一把。
下面是調用代碼:
我們來打印helloworld例子裏面的那顆節點樹。下面是輸出結果:
這個代碼可以做很多功能,當然你可以自己擴充一下咯。