Cocos2DX引擎实用CCTMXTileMap类来表示瓦片地图(也就砖块地图),主要包含如下四类元素:
- 砖块元素:tmx文件中指定的纹理图片(理解不一定正确);
- 砖块拼接的图层(CCTMXLayer):这就是我们看到的背景地图,引擎以精灵CCSprite来组织砖块元素,其中包含砖块大小等诸多信息;
- 物体图层(CCTMXObjectGroup):可能用于组织建筑物等等
- 自身属性:主要是地图大小等属性。
首先需要使用Tield瓦片地图编辑器创建一个tmx格式的文件(使用教程),名称为“TileMapTest.tmx”。然后将该文件和相应的png图片放在工程的Resources\TileMap目录下面。
在头文件中定义加载地图函数
void loadTileMap();
cpp文件中实现:
void HelloWorld::loadTileMap(){ CCTMXTiledMap* map = CCTMXTiledMap::create("TileMap/TileMapTest.tmx"); addChild(map,-1,100); }
注意CCTMXTiledMap::create方法使用的文件默认情况下是在工程的Resources目录下开始查找文件。最后在init方法中调用该函数,运行效果如下(仅仅简单加载了一下地图,地图本身比较大,还有很多没有展示出来):