我用程序"Tiled"制作了一个等距映射,并将其加载到代码中。我有两层瓷砖:1.背景层(草)2.物体层(本例中为冰箱)冰箱的渲染不正确。正如你在这里看到的(左边是应该的,右边是atm)
https://i.stack.imgur.com/UBTDf.png
firdge由上下两部分组成,如图所示:
https://i.stack.imgur.com/iuS47.png
所以我的第一个想法是,我不能在瓷砖上显示瓷砖。这就解释了为什么冰箱左右两侧的草瓷砖都在冰箱前面。但这只适用于上部。下半部分得到正确显示,也"越过"草地瓷砖。那么,为什么会发生这种情况呢?
好吧,我想明白了。可以逐个渲染贴图的层。
map.render(x, y);
一次渲染所有层。然后,@Marco13在我的问题下评论道。为了避免这种情况,请使用此选项。
map.render(x, y, layer);
例如,如果你有两层像我一样的东西,你只需要去:
map.render(x, y, 1);
map.render(x, y, 2);
然后一切看起来都很好:)