我正在使用分块地图编辑器获取tmx文件,并将其加载到我的游戏中,该游戏是用cocos2d-x c++版本3.15.1开发的
下面是tmx文件:
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" tiledversion="1.0.2" orientation="orthogonal" renderorder="right-down" width="7" height="7" tilewidth="100" tileheight="100" nextobjectid="1">
<tileset firstgid="1" source="map.tsx"/>
<layer name="gamemap" width="7" height="7">
<data encoding="csv">
2,2,1,2,2,2,1,
2,2,2,2,2,1,1,
1,1,1,1,2,1,1,
1,1,2,1,1,2,1,
1,2,2,2,2,2,1,
1,1,1,1,1,1,1,
1,1,1,1,1,1,1
</data>
</layer>
</map>我在下面的代码中使用它:
auto tmap = TMXTiledMap::create("map/map.tmx");
auto layer = tmap->getLayer("gamemap"); //null here
auto size = tmap->getMapSize();
CCLOG(" %f, %f", size.height, size.width);
auto sprite = layer->getTileAt(Vec2(1, 1));我可以确认tmap已成功加载,但layer是null,并检查调试器中的局部变量。
我尝试了不同的tmx格式,如xml和base64,但它们都给出了一些结果。
我做错了什么?
发布于 2017-08-12 12:31:35
我发现,我不仅应该将tmx文件放在源文件夹中,而且还必须导入相同文件夹中的磁贴文件tsx文件,以及作为磁贴文件加载的图像。但cocos2dx给出的错误消息可能会误导解决方案。我的错是得不到平铺地图的充分理解。

https://stackoverflow.com/questions/45636472
复制相似问题