【tile地图对象层】为什么获取坐标错误

3.1.1版本,用Tiled软件做的地图,读取对象层的坐标时不正确。
我的地图中有一个对象层叫treasure_do,其中一个对象是box,它的坐标是(11,91),但是读取出来是(176,128),地图大小是100*100。
下面是我的代码,是我写错了么?网上只能搜到2.x版本的写法,不知道3.1.1改了没。

TMXObjectGroup* treasureDo = tiledMap->getObjectGroup(“treasure_do”);
auto treasure = treasureDo->getObject(“box”);

//这样读取不正确
int x = treasure.at(“x”).asInt();

//这样遍历输出发现只有坐标不正确
for(auto tmp: treasure) {
log(“first %s”, tmp.first.c_str());
log(“second %f”, tmp.second.asFloat());
}

这是官方Test示例中的写法,还是不行。。。

auto& objects = treasureDo->getObjects();
for(auto& obj : objects) {
ValueMap& dict = obj.asValueMap();
float x = dict"x"].asFloat();
float y = dict"y"].asFloat();
log("%f %f", x, y);
}

呼叫大神啊,我问了一辈子问题了,却很少有人回答我。。。:6:

好吧。。。
写给跟我遇上同样问题的人:
在属性里新建xpos和ypos,把坐标抄写进去。这是我一直在用的临时解决方案。回答真心少。