Tile Map 有两个版本。一个是java版本的。一个是QT版本的
Java版本是在QT之前就出现的版本。但是后来却莫名其妙的用QT代替了java。java版本也就淡出了人们的视线。
但是让人烦躁的是。QT版本居然没有提供对六边形地图的支持。千方百计的寻找。原来java版本是对六边形地图支持的。网上的文章也说cocos是对这种地图有所支持的。
但是我下载java版本之后然后编辑地图。发现在cocos2dx-3.2的版本载入出错。
于是开始寻找原因。我们知道Tile Map 的格式是tmx。这个格式其实就是自定义的xml格式罢了。于是我分别用QT版的和java版的生成一个tmx文件。打开后对比。发现其中有一个
属性compression。没错。压缩属性。
java的压缩采用了gzip的压缩方式。而QT的压缩方式采用的是zlib的方式。
在网上查找。发现gzip其实是在zlib的外城嵌套了东西。开始我还一直想着怎么剥离这层东西。因为对压缩算法的不了解。始终没有眉目。于是就大胆的将java的压缩方式直接改为
zlib方式。没想到就解决了载入出错的问题。只是坐标会有一点偏差。但是这个东西可以在代码中设置。影响不大。