位置: 编程技术 - 正文

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》-添加地图 转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。资源为网上寻找的,仅研究学习用,若是侵犯版权请通知本人整改。此篇为第一篇,我

标签: Fast TileMap

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

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

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

  • 什么是增值税征免年限
  • 未入账分期金额是什么意思
  • 失业稳岗补贴怎么记账
  • 成本计算账户期末一般有余额吗
  • 发票超额如何收税
  • 发票进项和销项差一个字
  • 第二季度是多少钱
  • 所得税申报时成本数据填错怎么办
  • 建筑业确认收入的时间是按进度计量么
  • 企业的财务报表
  • 欠缴税款会给纳税证明吗
  • 航天金税交499
  • 建帐时库存的原材料如何入帐?
  • 展会门票费计入什么科目
  • 转让无形资产收入属于销售收入吗
  • 建筑业挂靠核定征收会计分录怎么写?
  • 固定资产入账必须有发票吗
  • 建筑工程劳务承包
  • 误餐补助有限制性的规定吗
  • 股权转让企业所得税如何申报
  • 做财务报表是什么岗位
  • 银行授信额度如何分配
  • 开了百分之五的票怎么办
  • 2021新版win10
  • 残保金通过什么科目核算
  • 国有企业上缴利润的账务处理怎么处理?
  • Mac苹果系统怎么转换中文
  • .exe是啥
  • PHP:oci_fetch_object()的用法_Oracle函数
  • 发行股票溢价计入哪里
  • 公司向个人支付劳务费
  • r在数据分析中表示什么意思
  • iframe标签表示的框架
  • js面试必问
  • es命令行
  • mkdir命令怎么用
  • 正则表达式除去指定字母
  • 事业结余是事业单位当年全部收支相抵后的余额
  • 贷款和应收款项属于金融资产的哪类
  • 代管资金如何做凭证
  • 进项发票和销项发票金额相同还需要交税金吗
  • 资产负债表中应付账款项目应根据什么填制
  • 复核人和收款人一样了怎么办
  • mysql表设计原则
  • 高新企业做账有什么不同
  • mongodb导入数据三种方式
  • 微擎框架源码
  • 企业出租的存货包括
  • 新公司开基本户需要带什么材料
  • 增值税专用发票丢了怎么补救
  • 外币交易的会计分录怎么写
  • 企业的利润分配包括哪些
  • 结转销售成本的凭证需要附件吗
  • 营改增后,建筑行业与供应商签合同才怎样签没风险?
  • 公司租赁职工车辆账务处理
  • 账面价值和公允价值的关系
  • 私车公用费用报销
  • 研发产品收入的会计分录
  • 以前年度损益调整
  • 哪些发票可以提供发票
  • 不征税发票和零税率发票
  • a公司刚刚执行了一个采购项目
  • 借用别的公司资质的协议范本
  • 5分钟了解环保币gec
  • 两台苹果怎么用电脑把数据同步
  • win8系统如何安装软件
  • 华硕a400u安装win7
  • scchost.exe - scchost是什么进程 有什么用
  • win10蓝屏故障
  • echarts怎么样
  • node.js中用什么方法处理get、post请求的参数
  • js继承怎么实现
  • javascript ()
  • node.js上传文件
  • python中zip函数的用法
  • 利润报表怎么填写
  • 三星电视投屏显示不支持当前文件
  • 建筑施工劳务资质
  • 阁楼交取暖费吗合法吗
  • 房子契税发票没给怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设