瓦块地图编辑器Tiled在游戏制作中是比较通用的了,cocos2dx支持载入TiledMap,以cocos2d 3.x版本为例
1、加载瓦块地图:
auto m_pTileMap = TMXTiledMap::create("test.tmx");
m_pTileMap->setPosition(Vec2::ZERO);
this->addChild(m_pTileMap);
2、获得瓦块地图的每一格大小
auto m_nTs_width = m_pTileMap->getTileSize().width;
auto m_nTs_height = m_pTileMap->getTileSize().height;
3、获得该tiled行列数
Size m_nTSize = m_pTileMap->getMapSize();
4、读取对象组和对象
TMXObjectGroup *points = m_pTileMap->getObjectGroup("points");
points->getObject("test1");
auto m_point = points->getObjects();
for (auto& obj : m_point)
{
auto dic = obj.asValueMap();
float x = dic.at("x").asFloat();
float y = dic.at("y").asFloat();
}
5、读取图层
TMXLayer *layer = m_pTileMap->getLayer("layer");
//解决图片模糊问题,根据情况添加
layer ->getTexture()->setAntiAliasTexParameters();