1. 问题。
在斜45度地图中,加入对象,当从使用cocos2d-x 从地图中读取对象时,对象的y坐标与地图文件(tmx)中的不符。
2.原因及 一种解决方案。
因为tilemap中的原点坐标在左上角。而cocos2d-x是以左下角为原点坐标。程序在读取的时候自动转换了。
为了能够计算出当前对象在地图中的位置,将y坐标转换成tilemap中的坐标。
yT = 地图高度 - yC - 对象的高度。
3. 引申问题1。
由对象的位置如何计算出对象在地图中的位置(块坐标)。
根据实验得出:块坐标 = 坐标 / 块的宽度(较小的一边)
4. 引申问题2。
如何由块坐标计算出当前块的像素坐标。
使用cocos2d-x中的层TMXLayer的positionAt方法。