Cocos2dx杂记:Tiledmap读取

瓦块地图编辑器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、读取对象组和对象
    //获得points对象组
    TMXObjectGroup *points = m_pTileMap->getObjectGroup("points");

    //获得一个对象
    points->getObject("test1");

    //获得对象组中的所有对象(返回类型是ValueVector)
    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();

你可能感兴趣的:(cocos2dx)