Cocos TileMap(瓦片地图)的使用

注意:TileMap地图原点在左上,左上点为(0,0),向下y+,右x+,而cocos原点在左下,向上y+,向右x+

1.创建TileMap地图

TMXTiledMap * m_pTiledMap = TMXTiledMap::create("tmx文件");

创建完后直接添加到当前节点上面就行了

 

2.获取tileMap上名为Object1的对象点集合

void CTiledMapCtrl::initPathPos()
{
    //获取对象层
    TMXObjectGroup* pObjGroup = m_pTiledMap->getObjectGroup("Object1");
    ValueVector VecObj = pObjGroup->getObjects();
    for (int i = 0; i < VecObj.size(); i++)
    {
        ValueMap obj = VecObj[i].asValueMap();
        Vec2 pos;
        pos.x = obj["x"].asFloat();
        pos.y = obj["y"].asFloat();
        m_VecPath.push_back(pos);
    }
}

获取普通层

TMXLayer* background = m_pTiledMap->getLayer("Background");

 

坐标点的转换

tileMap上的点转换为游戏坐标系内的点

你可能感兴趣的:(Cocos)