关于TiledMap
一般使用Tile工具来制作地图生成tmx文件,map包含多个layer、object,layer内包含tile,tile存储为gid
tmx文件其实最终也是xml形式的
从CCTMXXMLParser入手
TMXLayerInfo 层信息,包含各种附加属性值,以及基本属性,比如name、size、offset、visible等TMXTilesetInfo 瓦片集的各种信息,可以认为是丢进tile里的那张png对应的各种信息,包括tileSize、sourceImage等
TMXMapInfo 实际解析类,包含地图的全部信息
从tmx或xml读取相关信息,并解析成地图
入口都是create系列,然后进入internalInit初始化一些信息,然后开始解析parseXMLFile
tmx其实也是xml形式的,所以统一解析xml,设置SAXDelegator,进入SAXParser内解析
内部利用tinyxml2解析xml文件,获取各种数据,遍历文件,然后通过SAXDelegator回到TMXMapInfo内对应的处理函数startElement endElement textHandler
map 地图
tileset tile图相关信息
layer 地图内的层相关信息,也是实际地图信息,内部data为base64加密并zip压缩,在end里解析data,先解密base64,然后解压,存入TMXLayerInfo内
objectgroup 对象层相关信息
其他还有各种属性、几何图形信息等,可对应相关代码及tmx文件查看
文件读取解析完成了,下一个