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值设为1
2、创建女主
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
);
运行一看,真的有效啊!
转载于:https://www.cnblogs.com/Xujg/p/6053489.html
Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()相关推荐
- Cocos2dx 3.0 过渡篇(二十二)各种遍历与范围for语句的使用
时至今日都是我咎由自取,错就错,与任何人无关.IT事业的平顺,造就了低调谦虚的我.风度翩翩的气质,导致今日岌岌可危的地步,我今天愿意承担一切后果.其实,我很感谢你们让我跌倒在今天,而不是在我出任CEO ...
- Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物...
如今我们有2种类型的怪物,并且创建的时候是写死在代码里的,这是要作死的节奏~ 所以.必须可配置.不然会累死人的. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http://www ...
- Cocos2d-x3.0游戏实例《别救我》目录导航(共10篇,已完结)
这个5.1假期还真不错,有个小惊喜,那就是,我某个游戏今天的下载量爆表了,突破历史最高点~! 于是,我决定写一个新的游戏实例教程,以示庆祝~ 啊才怪啊~!这教程5.1之前就在写了,我还因此暂停了差不多 ...
- Cocos2d-x3.0游戏实例之《别救我》第八篇——TiledMap实现关卡编辑器
好吧,我真心全然搞不懂.我如今仅仅只是是写了3个类而已.怎么就已经到第八篇了?我感觉我说话已经够简单明了毫不唠叨了,真是奇怪.(小若:我噗.噗噗.) 好吧,既然如今主角已经能出现而且进行操作了.那,也 ...
- Cocos2d-x3.0游戏实例之《别救我》第十篇(完结)——用Json配置各类型怪物数据
现在我们有2种类型的怪物,而且创建的时候是写死在代码里的,这是要作死的节奏~ 所以,必须可配置,不然会累死人的. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http://www ...
- Cocos2d-x3.0游戏实例《不要救我》第一章——前言
我们可以学习? 这是一个非常easy游戏.但更多的东西用(对于初学者).至少,对于它的一个例子,有点多. 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www.benm ...
- 利用 Cocos2dx-3.0 新物理特性模拟弹珠迷宫
本文转自:http://segmentfault.com/a/1190000000393216 前言 看到这张图,不知道你会不会想到些什么?儿时的玩物,满满的童年的味道.那时候没有太多玩具,这些小玩意 ...
- 如何使用cocos2dx3.0制作基于tilemap的游戏:第二部分
引言 程序截图: 这篇教程是<如何使用cocos2dx3.0制作基于tilemap的游戏>的第二部分.在上一个教程中,我们创建了一个简单的基于tiled地图的游戏,里面有一个忍者在沙漠里寻 ...
- 在cocos2d-x3.0里面如何使用物理引擎:弹球
前言 程序截图: 这个教程的目的就是让你们熟悉在cocos2d-x3.0里面如何使用新版的物理引擎,所采用的例子就是制作一个简单的应用,里面有一个篮球,你可以通过旋转你的手机来改变重力的方向,同时篮球 ...
- mysql跳过安全_【Python安全攻防过渡篇:web编程和环境搭建】
web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...
最新文章
- 【原创】多台电脑如何公用一个键盘鼠标进行操作 - Mouse with Borders 软件
- objective c 语法
- vmware虚拟机不识别usb设备
- git上传分支的原理_几张图让你彻底弄懂git工作流(二) ——git分支
- 信息服务器 iis 7.0,iis7.0的技术参数汇总
- Git commit至Gitee报错‘remote: error: hook declined to update refs/heads/master‘的解决方法
- Source Insight3.x注册码
- mysql判断是日期是第几周
- 基础才是重中之重~对象的生与死
- 欧姆龙plc的I/O存储器区详解(Omron FINS)
- VC2012 学习记录
- curl 命令测试post请求
- 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
- 定投复利公式 php,基金定投收益计算公式和复利计算公式
- 传统手绘建模与次世代建模技术与流程的区别,在未来游戏行业中作为建模人如何做出职业规划
- 【博客排版】中文文案排版指北(转载)
- java % 负数_Java如何在括号中显示负数?
- 黄斑水肿应及时打针+水肿损伤感光层
- 中国人口趋势(1990-2035)
- 写给2035年的自己
热门文章
- 系统内存太少,VirtualBox无法启动虚拟机
- windows单实例的办法
- 这不是海市蜃楼,这是平地雾
- 由最近Win10升级事故,回忆一次经历
- 建议不要使用Android studio的SVN功能
- c#解析json字符串数组_在C#中解析Json字符串
- android shell强制删除文件夹_手机文件夹都是英文,看不懂、又不敢删?教你如何辨别、释放内存...
- C# 一次性获取二维数组中的一维数组数据
- oracle11g安装副武器类,oracle 11g 服务器类
- 士林变频器面板如何调速度_必读干货丨西威变频器DRIVE OVERLOAD故障处理