上一篇教大家做好了一张地图,那么我们如何在真正的游戏中使用呢,这一篇就是主要教大家在cocos2d-x中使用

我们把上一篇做好的地图保存后,放置在游戏项目的资源目录下

那么我们包含地图的代码其实非常简单

 

  1. CCTMXTiledMap* map = CCTMXTiledMap::create("myTest.tmx");  
  2. addChild(map); 

就用这两句话就把我们的地图tmx文件加入到layer,addchild之后,这张地图就会绘制出来了

下面讲点新的东西

第一:图块设置技巧及注意事项

点击 图层  ->添加图层

手把手教你在cocos2d-x中使用TileMap地图编辑器(二)_cocos2d-x

手把手教你在cocos2d-x中使用TileMap地图编辑器(二)_cocos2d-x_02 

层上的名字我们改成英文,大家记住做程序的时候所有东西都改成英文,不管是文件名,标签名,包括文件存放路径都不要包括中文,反正除了我们游戏里面需要的界面或者对话,或者类似必须要用中文的东西,其他都一定用英文来表示。毕竟计算机是老外发明的,我们就按人家的规则来玩吧。

修改后

手把手教你在cocos2d-x中使用TileMap地图编辑器(二)_cocos2d-x_03 

这样表示层1,层2

这样加多层之后就可以做一些遮罩效果了。

现在说一下多层会遇到的一些问题

每个层都可以用很多不用的图片,但是有一个规则一定要记住

你在同一层使用的图片块大小一定要一致,比如你之前用32*32的图片块拼了一部分,那么后面你换了另一个图片的块大小也必须是32*32的,不能是其他大小,如果你用了两种大小,编辑器里面不会出问题,但是一旦你使用在cocos2d-x中

CCTMXLayer类会报以下错误

CCAssert( m_uMaxGID >= m_pTileSet->m_uFirstGid &&
        m_uMinGID >= m_pTileSet->m_uFirstGid, "TMX: Only 1 tilset per layer is supported");

看清楚了吗,TMX: Only 1 tilset per layer is supported

“每层只支持一种图块尺寸设置”

所以大家这个地方要注意

这里再讲下第二个地图块切块要注意的地方

如果有以前用过地图编辑器的同学肯定清楚,一般的地图编辑器设定了地图的块大小的话,那么图片的块切割大小也就必须是和地图单块的大小一致的

但是我们的TileMap这款编辑器可以分开设置

例如地图块大小设置32*32,图片块大小我可以设置成52*64,或者其他64*31

都可以,等你设置好了,在地图块填充的时候就会发现,TileMap会自动以左下角为

对齐点。比如我把一个图片切成60*64的图片效果如下

手把手教你在cocos2d-x中使用TileMap地图编辑器(二)_TileMap_04

看见了吗,深色部分表示我放置的点,那么超过的部分就自动向上和向右延伸了,

所以我们会看见在cocos2d-x的TileMaps资源下面会有这样的图存在

 

手把手教你在cocos2d-x中使用TileMap地图编辑器(二)_TileMap_05

ok,图片设置基本就讲这么多,下一篇教大家加入对象层和设置tile块的一些属性,可以在游戏中做的一些事情。