Libgdx 地图闪烁 - 如何轻松地将 Border/Padding 添加到现有的 Tileset

Libgdx Maps Flickering - How to easily add Border/Padding to existing Tileset

我在使用 Libgdx 和 Tiled Maps 时遇到一些众所周知的问题,当玩家移动时我的地图会闪烁(相机跟随玩家)。

我搜索了答案并发现所有地图都这样做,并且要解决这个问题,您必须使用 4 个填充、2 个边框和重复边框(或某些工具中的挤压边框)来打包您的 sprite。使用libgdx自带的texturepacker,你可以打包你的图片,只要你先分割然后加上padding/border。但是,它们随机放置在 tileset 中,使得制作地图变得更加困难(您需要查看按原始顺序分组的 tiles)

我的问题是,我已经尝试这样做了几天,但从未完成。我有一个输入图块集,它是 32x32px。所以我到目前为止尝试的是:

我得到的最接近的是:从 tileset 中解压缩所有 32x32 图像,然后使用某种工具再次打包。 第一个问题是我使用的所有图像解包器(拆分器)都没有将透明度应用于背景,并且一些 tileset 非常详细,很难正确处理。 第二个问题是,当我想打包它时,大多数工具不提供顺序,所以我丢失了 tileset 配置(这在制作地图时非常重要)。

有人可以告诉我如何轻松完成吗?我真的需要浪费几天的时间才能让 tileset 在 Libgdx 中看起来不错吗?

我只需要将 border/padding 添加到 tileset 中,保持其原始位置。

我确定我缺少某些东西,它不会那么难。

谢谢

我也有和你一样的情况。 这是我一步一步做的:

  1. Split/Unpack 使用 Alferd-Spritesheet-Unpacker 将精灵 sheet 转换为单独的图像。该过程还将对背景应用透明度。您可以使用任何您喜欢的软件,只要它能完成工作即可。
  2. Second problem is that when i want to pack it, most tools dont provide order, so i loose the tileset configuration

在重新打包之前,您按 字母顺序 重命名每个图像,这样 Texture Packer 将按字母顺序相应地对图像进行排序。

例如:walk_1.png、walk_2.png、walk_3.png 等等..

  1. 使用 LibGDX Texture Packer(这个有一个 GUI 版本)重新打包图像。这里的技巧是添加图像的填充,如下所示。

  1. 这是最重要的步骤。现在您已经完成了图像的重新打包。将精灵 sheet 添加到 Tileset 中并配置 边距间距。如果您的精灵从一开始就没有填充,请不要担心。 TiledMap 将对其进行配置。现在完成了。

好的,到目前为止我找到的更简单的方法是使用 Gimp 插件。

registry.gimp.org/node/26044

它允许您添加边框、装订线(在这种情况下,是其他工具的 dupplicatePadding 或 Extrude),也可以删除它。

工作起来很有魅力,一步就完成了工作。 要使用该插件,请将其添加到您的文件夹(在 windows、User/gimp/scripts 中)或查看文档。

所以在平铺配置中我使用

在 Gimp 插件中我使用了这个配置(菜单 -> 过滤器 -> Sprite Sheet -> 添加装订线)