前天非常难得的加班到八点...为什么说难得呢?由于平时我差点儿就没加班过。六点下班后想走就走,想留就留。率直洒脱。不拘一格。尽显男儿本色。程序猿,就是这么自信!

-----------
这篇博客的标题本想叫“...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);

果然,一个疗程过去,男主真的在女主上面了!

实在是太奇妙了!如图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RhcjUzMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
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,假设依照正常的逻辑来看,无论女主怎么化妆。小三都注定是比她更有吸引力(也就是小三会在女主上面)。例如以下图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RhcjUzMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
女主不服啊!阴差阳错之下,她看到了微博上的化妆品营销广告:“战胜小三。请使用setGlobalZOrder(),一个疗程。一次见效!

。抱着破罐子破摔的心理,女主也尝试了下:

girl_1->setGlobalZOrder(100);

执行一看,真的有效啊!

感谢博主,感谢cocos2dx3.0。
是的了,cocos2dx3.0就是这么奇妙!假设你还在使用2.0那你就out啦!赶紧拿起电话, 拨打110订购吧!

仅仅要998,3.0带回家。钱请直接打到我支付宝账户上面。

谢谢!

尊重原创。转载请注明来源:http://blog.csdn.net/star530/article/details/24576057

Cocos2dx 3.0 过渡篇(二十九)globalZOrder()与localZOrder()的更多相关文章

  1. Cocos2dx 3.0 过渡篇(三十)灰机还是3D好(Sprite3D)

    如今都非常少发3.0过渡篇这一系列的博文了,原因是多方面的,一个是游戏开发进度,尽管上面并没给我什么压力,但我自己一直在赶.还有一方面是个人私生活这块.五月份确实是多事之秋,有时候真的没办法全心思去研 ...

  2. Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上)

    昨天练车时有一MM与我交替着练,聊了几句话就多了起来,我对她说:"看到前面那俩教练没?老色鬼两枚!整天调戏女学员."她说:"还好啦,这毕竟是他们的乐趣所在,你不认为教练每 ...

  3. Cocos2dx 3.0 过渡篇(二十八)C++11强类型枚举

    一朋友在微信朋友圈晒了张照片,随手点开大图,带着赞赏的眼光扫了下,恩,几个月不见.又美丽了...咦?等等,她戴的这是什么?酷炫的造型! 金属边框! 微型摄像头! 这不是传说中的谷歌眼镜么?土豪啊,还好 ...

  4. Cocos2dx 3.0 过渡篇(三十一)ValueVector和Vector不得不说的故事

    本文投票地址:http://vote.blog.csdn.net/Article/Details?articleid=37834689 前天看到一个颇为纠结的选择题:有一天你遇到一个外星人,这时外星人 ...

  5. Cocos2dx 3.0 过渡篇(二十五)死不了的贪食蛇(触摸版)

    上一篇写的贪食蛇的重力感应控制版,这一篇就讲下触摸控制版吧.额,也不知道写了那个贪食蛇教程究竟有没有获得沈老师的书,假设没有的话,看我不拿西瓜刀砍掉 偶尔E往事 的那啥! 重力版链接:http://b ...

  6. Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)

    本篇接上篇继续讲:上篇传送门:http://blog.csdn.net/star530/article/details/24186783 简单的东西我都说的几乎相同了,想挖点深的差点把自己给填进去. ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】原创教程连载导读【连载完成,共二十九章】

    前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例 ...

  8. 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

    1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...

  9. WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]

    原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...

随机推荐

  1. PHPSTORM 与 Xdebug 配合调试

    基本的配置可以参考网上的文档, 浏览器中装插件(xdebug)或直接在请求中加上如下的参数也可启动调试 ?XDEBUG_SESSION_START=PHPSTORM

  2. 神奇的linux发行版 tiny core linux

    首先官网在此 http://tinycorelinux.net/ 真正轻量级 名字里带有“tiny”又带有“core”,想必又是一个所谓的“轻量级”发行版. 轻量级我们见多了,debian号称是轻量级 ...

  3. Linux下动态库生成和使用

    Linux下动态库生成和使用 一.动态库的基本概念 1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序.动态链接库是目标文件的集合,目标文件在动态链接库中 ...

  4. 一个相当好的状态机(DFA, 确定有限状态机)的编码实现,相当简洁漂亮

    从jsoup而来,文章见: https://github.com/code4craft/jsoup-learning/blob/master/blogs/jsoup4.md 状态机 Jsoup的词法分 ...

  5. 实体框架 (EF) 入门 => 四、CodeFirst 枚举支持

    当使用 Code First 开发时,通常是从编写用来定义概念(域)模型的 .NET Framework 类开始. 插入记录没有为 Budget 赋值. 数值类型默认值为0,数据库中都为not nul ...

  6. 第三百五十九天 how can I 坚持

    在家待了一天,鼓捣了下linux,总算能连上网了,懂得还是少啊. 晚上去华北电力大学跑了会步,十圈,还挺有成就感呢,就是没带手环,哎. 以后学习一定要记笔记,上了这么多年学,都 没学会怎么记笔记,也是 ...

  7. 实现系统函数time,获取当前时间与UTC的间隔

    因种种原因,最近很少上cnblogs了.刚写了一个实现time的函数,可以通过该函数获取当前时间与1970年1月1日 0时0分0秒的差值,精确到秒,可以用在某些没有时候使用time不正确而不得不调用硬 ...

  8. printf函数重定向

    printf函数底层会调用fputc函数 /*重定向c库函数printf到USART1*/ int fputc(int ch, FILE *f) { /*发送一个字节数据USART1 */ USART ...

  9. 题目连接:http://acm.zznu.edu.cn/problem.php?id=1329

    题目大意: 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,因为3-20=-17是17的倍数:20 ...

  10. 用PyInstaller把Python代码打包成单个独立的exe可执行文件

    之前就想要把自己的BlogsToWordpress打开成exe了.一直没去弄. 又看到有人提到python打开成exe的问题. 所以打算现在就去试试. 注:此处之所有选用BlogsToWordpres ...