Cocos2dx 3.0 过渡篇 globalZOrder()与localZOrder()

前端之家收集整理的这篇文章主要介绍了Cocos2dx 3.0 过渡篇 globalZOrder()与localZOrder()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转自http://blog.csdn.net/star530/article/details/24576057

对转载的内容 进行摘取


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


globalZOrder 是用于 渲染器 中用来给“绘制命令”排序的
localZOrder 是用于父节点的子节点数组中给 节点 对象排序的

如果上面抄袭的这段话不太理解的话,我举个例子:假设localZOrder是微博,globalZOrder是facebook。微博上你再怎么扑腾,那影响的范围也就只是在国内,省内,市内;而facebook就不一样了,毕竟它立足于全世界,你的一句话影响的范围很可能就是世界性的。


是的,这次我们的主角又出场了,热烈欢迎boy,girl_1,girl_3(男主,女主,小三)。如果你还觉得这是单纯的男女间的追来追去,那你就太单纯了。
1、创建男主

@H_301_58@ [cpp] view plain copy
  1. autoboy=Sprite::create("boy.png");
  2. boy->setPosition(Point(350,300));
  3. this->addChild(boy,1);//Z值设为1
2、创建女主
    autogirl_1=Sprite::create("girl_1.png");
  1. girl_1->setPosition(Point(15,10));
  2. boy->addChild(girl_1,1);//Z值为1
我们都知道,女主是属于男主的,所以是:boy->addChild(girl_1,1);程序运行后如图所示, 可以看到,女主是压在男主上面的(请不要想太多,谢谢

但是男主不服啊!身为一个男人又怎能让女人压在上面?是可忍孰不可忍(很明显,男主想歪了)!于是他想尽办法要翻身做主人!他首先想到的是使用localZOrder,也就是下面这条代码
    boy->setLocalZOrder(100);//和之前的setZOrder的功能一样
事实是很残酷的,男主哀嚎一声: 坑爹啊!难道就没有办法了吗?就在这时,男主眼前一亮!因为他看到了路边贴的牛皮癣广告,广告词赫然写着:治不*不*,请使用setGlobalORder(),还你**风采。 于是男主赶紧尝试了下:
    boy->setGlobalZOrder(100);
果然,一个疗程过去,男主真的在女主上面了!实在是太神奇了!如图所示:
3、小三出现
先把小三创建出来, 小三毕竟不是正统,所以不用加到男主身上。
    autogirl_3=Sprite::create("girl_3.png");
  1. girl_3->setPosition(Point(340,290));
  2. this->addChild(girl_3,2);//Z值为2
代码可以看出来, 小三的Z值设置为2,而男主的Z值为1,如果按照正常的逻辑来看,不管女主怎么化妆,小三都注定是比她更有吸引力(也就是小三会在女主上面) ,如下图
女主不服啊!阴差阳错之下,她看到了微博上的化妆品营销广告:“ 战胜小三,请使用setGlobalZOrder(),一个疗程,一次见效!” ,抱着破罐子破摔的心理,女主也尝试了下:
    girl_1->setGlobalZOrder(100);

运行一看,真的有效啊!

原文链接:https://www.f2er.com/cocos2dx/344037.html

猜你在找的Cocos2d-x相关文章