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

Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()的更多相关文章
- Cocos2dx3.0过渡篇 各种遍历与范围for语句的使用【转】
1.CCArray的遍历看到这里,有些人又按耐不住的要举起西瓜刀了:你不是说3.0beta后已经没有CCArray这货了吗?现在又拿出来作甚?其实我也很无辜,CCArray确实是没了,但在某个不为人知 ...
- Cocos2dx 3.0 过渡篇(三十)灰机还是3D好(Sprite3D)
如今都非常少发3.0过渡篇这一系列的博文了,原因是多方面的,一个是游戏开发进度,尽管上面并没给我什么压力,但我自己一直在赶.还有一方面是个人私生活这块.五月份确实是多事之秋,有时候真的没办法全心思去研 ...
- Cocos2dx 3.0 过渡篇(二十九)globalZOrder()与localZOrder()
前天非常难得的加班到八点...为什么说难得呢?由于平时我差点儿就没加班过.六点下班后想走就走,想留就留.率直洒脱.不拘一格.尽显男儿本色.程序猿,就是这么自信! -----------这篇博客的标题本 ...
- Cocos2dx 3.0 过渡篇(三十一)ValueVector和Vector不得不说的故事
本文投票地址:http://vote.blog.csdn.net/Article/Details?articleid=37834689 前天看到一个颇为纠结的选择题:有一天你遇到一个外星人,这时外星人 ...
- Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)
本篇接上篇继续讲:上篇传送门:http://blog.csdn.net/star530/article/details/24186783 简单的东西我都说的几乎相同了,想挖点深的差点把自己给填进去. ...
- Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上)
昨天练车时有一MM与我交替着练,聊了几句话就多了起来,我对她说:"看到前面那俩教练没?老色鬼两枚!整天调戏女学员."她说:"还好啦,这毕竟是他们的乐趣所在,你不认为教练每 ...
- Cocos2dx 3.0 过渡篇(二十五)死不了的贪食蛇(触摸版)
上一篇写的贪食蛇的重力感应控制版,这一篇就讲下触摸控制版吧.额,也不知道写了那个贪食蛇教程究竟有没有获得沈老师的书,假设没有的话,看我不拿西瓜刀砍掉 偶尔E往事 的那啥! 重力版链接:http://b ...
- Cocos2dx 3.0 过渡篇(二十八)C++11强类型枚举
一朋友在微信朋友圈晒了张照片,随手点开大图,带着赞赏的眼光扫了下,恩,几个月不见.又美丽了...咦?等等,她戴的这是什么?酷炫的造型! 金属边框! 微型摄像头! 这不是传说中的谷歌眼镜么?土豪啊,还好 ...
- Cocos2d-x3.0游戏实例之《别救我》第二篇——创建物理世界
这篇我要给大家介绍两个知识点: 1. 创建游戏物理世界 2. 没了(小若:我噗) 害怕了?不用操心.这太简单了~! 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www ...
随机推荐
- 【cocos2d-js官方文档】二十一、v3相对于v2版本的api变动
分类: cocos2d-js(28) 目录(?)[+] CCAudio.js SimpleAudioEngine.js改名为CCAudio.js. AudioEngine中删除了以下几个方法: pre ...
- Nodejs微信开发
因为使用了Bot Framework开发了一个小功能,它目前支持了Skype\Teams\Slack等,但在国内来讲,微信还是一个比较流行的软件,所以需要接上微信 原来开发Bot的时候使用的是.Net ...
- HDU 1181.变形课-并查集
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submis ...
- 求给出第 K个 N位二进制数,该二进制数不得有相邻的“1”
求给出第 K (0 < K < 109) 个 N (0 < N < 44) 位二进制数,该二进制数不得有相邻的"1". 这道题要求给出第 K (0 < ...
- CodeForces 348C Subset Sums(分块)(nsqrtn)
C. Subset Sums time limit per test 3 seconds memory limit per test 256 megabytes input standard inpu ...
- RPD Volume 168 Issue 4 March 2016 评论5
Monte Carlo simulation of secondary radiation exposure from high-energy photon therapy using an anth ...
- linux 处理两个文件的并集,交集,计数
1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 ...
- nginx+php简单配置环境
首先我的需求是: 1. 需要有PHP的服务.web目录存放在各处. 2. 需要有多个端口. 步骤: 1. 安装nginx php,我的系统是mac 所以安装使用brew, 一键完成... 2. 开启p ...
- 【json】前台ajax序列化的多个属性拼接在一起的字符串,转化为JSONObject对象
1.首先看一下前台序列化了哪些东西: 部分js代码 //查询按钮 $(".questButton").click(function(){ $.ajax({url:"/qu ...
- kubernetes环境下私有仓库搭建
前期在客户那里搭建了基本运行环境,鉴于很多企业的环境都是内部网无法连接外部,因此搭建私有仓库是逃避不开的问题,按照网上的步骤搭建,虽然遇到一些问题,但还好都算容易解决了,下面大致把步骤记录一下便于下次 ...