Cocos2dx 3.0 過渡篇(二十九)globalZOrder()與localZOrder()

前天很難得的加班到八點...爲什麼說難得呢?因爲平時我幾乎就沒加班過。六點下班後想走就走,想留就留。率直灑脫,不拘一格,盡顯男兒本色。程序員,就是這麼自信!

-----------
這篇博客的標題本想叫“...3.0新的渲染...介紹”,最後還是拉不下這個臉。爲啥?覺得自己對渲染的認識還是過於表面,談不上理解。當然了,這並不影響這篇博客繼續寫下去。下面看一段3.0Release Notes 對於新渲染器的一段介紹:

Node 增加了新的函數 setGlobalZOrder() / getGlobalZOrder(),之前的舊函數 setZOrder() / getZOrder() 也被重命名爲 setLocalZOrder() / getLocalZOrder()。

好了,看到這裏我不得不停下來。接下來請再次允許我用沉重的語氣悼念多少年來一直陪伴我們左右的"setZOrder()/getZOrder()君,是誰,在我們最需要幫助的時候指引我們上下的方向;是誰,告訴我們應如何在茫茫層海中確定自己的位置?是的,是他們......goodBye,my love...

擦乾眼淚,我們繼續往下看看這個GlobalZOrder與LocalZOrder到底是什麼碗糕?
globalZOrder 是用於 渲染器 中用來給“繪製命令”排序的
localZOrder 是用於父節點的子節點數組中給 節點 對象排序的

如果上面抄襲的這段話不太理解的話,我舉個例子:假設localZOrder是微博,globalZOrder是facebook。微博上你再怎麼撲騰,那影響的範圍也就只是在國內,省內,市內;而facebook就不一樣了,畢竟它立足於全世界,你的一句話影響的範圍很可能就是世界性的。
好了,例子舉完了,挺好理解的吧。如果你還說不理解的話,那我還真拿你有辦法!請擦亮眼睛看下面的例子:

是的,這次我們的主角又出場了,熱烈歡迎boy,girl_1,girl_3(男主,女主,小三)。如果你還覺得這是單純的男女間的追來追去,那你就太單純了。
1、創建男主
auto boy = Sprite::create("boy.png");
boy->setPosition(Point(350,300));
this->addChild(boy,1);//Z值設爲1
2、創建女主
auto girl_1 = Sprite::create("girl_1.png");
girl_1->setPosition(Point(15,10));
boy->addChild(girl_1,1);//Z值爲1
我們都知道,女主是屬於男主的,所以是:boy->addChild(girl_1,1);程序運行後如圖所示,可以看到,女主是壓在男主上面的(請不要想太多,謝謝

但是男主不服啊!身爲一個男人又怎能讓女人壓在上面?是可忍孰不可忍(很明顯,男主想歪了)!於是他想盡辦法要翻身做主人!他首先想到的是使用localZOrder,也就是下面這條代碼:
boy->setLocalZOrder(100);//和之前的setZOrder的功能一樣
事實是很殘酷的,男主哀嚎一聲:坑爹啊!難道就沒有辦法了嗎?就在這時,男主眼前一亮!因爲他看到了路邊貼的牛皮癬廣告,廣告詞赫然寫着:治不*不*,請使用setGlobalORder(),還你**風采。於是男主趕緊嘗試了下:
boy->setGlobalZOrder(100);
果然,一個療程過去,男主真的在女主上面了!實在是太神奇了!如圖所示:

3、小三出現
先把小三創建出來, 小三畢竟不是正統,所以不用加到男主身上。
auto girl_3 = Sprite::create("girl_3.png");
girl_3->setPosition(Point(340,290));
this->addChild(girl_3,2);//Z值爲2
從代碼可以看出來,小三的Z值設置爲2,而男主的Z值爲1,如果按照正常的邏輯來看,不管女主怎麼化妝,小三都註定是比她更有吸引力(也就是小三會在女主上面),如下圖

女主不服啊!陰差陽錯之下,她看到了微博上的化妝品營銷廣告:“戰勝小三,請使用setGlobalZOrder(),一個療程,一次見效!”,抱着破罐子破摔的心理,女主也嘗試了下:
girl_1->setGlobalZOrder(100);

運行一看,真的有效啊!



感謝博主,感謝cocos2dx3.0。
是的了,cocos2dx3.0就是這麼神奇!如果你還在使用2.0那你就out啦!趕緊拿起電話, 撥打110訂購吧!只要998,3.0帶回家。錢請直接打到我支付寶賬戶上面。謝謝!


尊重原創,轉載請註明來源:http://blog.csdn.net/star530/article/details/24576057
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章