Cocos格子地图(1)

本文介绍了Cocos2d-x中的格子地图,包括如何创建和操作TMXTiledMap,以及地图层的概念。TMXTiledMap通过.tmx文件和资源文件组合而成,可以缩放,并提供了获取地图尺寸和格子大小的方法。地图层由TMXLayer组成,每个层包含多个Tile,TileSet用于提供精灵图片。TMXLayer提供了获取特定位置Tile的接口,如getTileAt和getTileGIDAt。地图的层次关系和渲染顺序在.tmx文件中定义,可通过调整本地Z顺序控制渲染顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

格子地图

如同一块块砖瓦拼成的地板一样的地图,是由一张大图的资源文件和.tmx的描述文件组成的。创建格子地图如下(格子地图相当于节点):

TMXTiledMap* map= TMXTiledMap::create("TileMaps/orthogonal-test1.tmx");

addChild(map);

可以通过map->setScale(x,y) 缩放地图

 

如果图片大小大于块的定义大小,如何对齐?

TileMap将每个格子的锚点设置在了左下角,于是大于的部分会往上面和右面延展

 

如果地图上某个格子的精灵被我们一道别的地方时,格子的位置是不会变的,只是精灵的位置变了(格子精灵就是图片,格子就是位置

 

TMXTiledMap类,有几个接口

TMXTiledMap::getContentSize 整个地图的尺寸,以像素为单位

TMXTiledMap::getMapSize 整个地图的尺寸,以地图块为单位,比如说地图由12x12块砖头组成,这个函数返回 Size(12,12)

TMXTiledMap::getTileSize 一个砖块的尺寸,以像素为单位,和获取图元大小方式不同,图元是getBoundingBox

 

地图层

TMXTiledMap是格子地图类 由TMXLayer组成,在TMXLayer中,有许多Tile(瓦片),Tile对应的是精灵。

TMXT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值