位置: 编程技术 - 正文

Fast TileMap

编辑:rootadmin
概述

推荐整理分享Fast TileMap,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在游戏中常常会有丰富的背景元素,如果直接使用大的背景图实现,这会造成资源浪费。TileMap就是为了解决这问题而产生的。Cocos2d-x支持使用Tile地图编辑器创建的TMX&#;式的地图。

Cocos2d-x为我们提供了TMXTileMap和TMXLayer两个类来处理瓦片地图。通过使用TMXTileMap和TMXLayer,我们可以很方便的加载TMX&#;式的地图文件,获取地图上的图层、对象、属性等信息。

新发布的3.2版本,对瓦片地图进行了大幅改进,通过自动裁剪不在视图范围内的瓦片来提升性能,并支持渲染更大尺寸的瓦片地图!我们称之为"Fast TileMap",下面我们就来一起研究Fast TileMap。

TileMap VS Fast TileMapFast TileMap的不同

在3.2版本,新增了CCFastTMXTiledMap.h/CCFastTMXTiledMap.cpp/CCFastTMXLayer.h/CCFastTMXLayer.cpp文件用于实现快速高效的瓦片地图功能。

在cocos2d::experimental的名字空间下重新实现了TMXTiledMap和TMXLayer。其中对TMXLayer的改动较大。TMXLayer不在继承SpriteBatchNode,改为继承Node。并重新实现TileMap的绘制来提升性能。

oldnew

新的TMXTiledMap接口和原有的保持一致。我们依然可以像以前那样使用TMXTiledMap创建瓦片地图。

Fast TileMap的用法

上面代码演示了,使用Fast TileMap加载tilemap.tmx文件创建一幅地图,并加到场景中。

更多API使用方法参考:

COCOS2DX_ROOT/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp

TileMap性能对比Fast TileMap

我们分别使用以前的TileMap和Fast TileMap加载同一个tmx文件创建地图,并在同一设备上进行测试。

测试设备:

MacBook Pro Retina,-inch,Late OS X .9.4

TileMap

运行结果:

Fast TileMap

运行结果:

运行结果对比:

两者的GL calls都相同使用Fast TileMap的GL verts更少使用Fast TileMap的帧率更高

因为相同的GL calls(渲染次数)下,GL verts(显卡绘制的顶点数)越少,绘制效率越高。FPS(帧率)越高游戏越流畅。所以 使用Fast TileMap渲染地图的性能更优。

c++深入学习 委托构造函数在引入C之前,如果某个类有多个重载的构造函数,且这些构造函数中有一些共同的初始化逻辑,通常都需要再编写一个带参数的初始化

cocos2dx初学日记 CC_SYNTHESIZE(varType,varName,funName)这是一个自动生成been方法的宏,该方法可以为一个私有变量(假设是inta)设置get,set方法----CC_SYNTHESIZE(int,a,A);第三个参

[置顶] Cocos3.4 横版游戏制作-《KillBear》-添加地图 转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。资源为网上寻找的,仅研究学习用,若是侵犯版权请通知本人整改。此篇为第一篇,我

本文链接地址:https://www.jiuchutong.com/biancheng/372772.html 转载请保留说明!

上一篇:如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分(如何使用朋友的山姆卡)

下一篇:c++11深入学习(c++11视频教程)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络