- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法找到答案,为什么我为图 block map 制作的图 block 表在使用 libGDX 在屏幕上移动时会创建垂直白线和不稳定的水平线。
这是显示白色垂直线的视频:https://www.youtube.com/watch?v=34V64WacMo4这是显示水平抖动线的一个:https://www.youtube.com/watch?v=LiozBZzxmy0
为了进行比较,这是我今年早些时候在没有 GDX 的情况下完成的一个项目。您可以看到图 block map 移动流畅,没有任何明显的痕迹:https://www.youtube.com/watch?v=VvdPdA_253k
当我将这个图 block 集放入我们的引擎中时,您可以看到各个图 block 周围的外观。即使我在当前引擎中使用该项目中完全相同的图 block 表,情况也是如此。
我和我的搭档都在调查导致此问题的原因,尽管我们找到了几种可能的答案,但没有任何效果。我们目前的解决方案感觉非常错误。我使用 Photoshop 来创建我的平铺表。我把它保持得井井有条,这样当它导入到 Tiled 中时,就可以高效地使用。这是我一直在使用的测试表,用于创建上面的示例:
作为实验,我的 friend 创建了一些简单的 32x32 图 block 并使用 TexturePacker 来打包它们,然后在 Tiled 中使用它们。最终结果是这个文件:
如果您在图像编辑器中打开该文件,您会发现它毫无意义,图 block 甚至不均匀。蓝色和绿色图 block 的尺寸为 34x34,而红色和黄色图 block 的尺寸为 35x34。他说,在TexturePacker中,他将填充和间距都定义为2。所以首先,我对32x32图 block 如何以各种尺寸获得输出感到困惑。然后他说他将其导入到 Tiled 中,并将导入设置设置为 33x33,间距和填充均为 1。使用这些图 block 创建的 map 似乎可以在我们的引擎中工作。这会带来几个问题。
首先,我不想使用TexturePacker,因为我不会一次创建一个图 block 图形,我有一个以有组织的布局手工创建的主图 block 表。当导入到tiled中时,TexturePacker的输出是一个无法工作的困惑。我觉得我应该能够手动创建有组织的图 block 表,而不必依赖TexturePacker。此外,使用TexturePacker意味着我必须导出我的主表,然后手动将其分割成单独的图像,所涉及的工作量呈指数级增加工作量,因此最好避免这种情况。
我还发现,将 32x32 图 block 转换为 34x34 和 35x34 图 block 的输出会扭曲我的图形。这不可能是正确的方法。如何创建一个图 block 表,当在图 block map 中使用并在 GDX 中使用时,它的显示效果与我在上面第二个视频链接中演示的一样流畅?
如果有兴趣,这是我们应用程序当前的工作分支:https://github.com/vinbreauX/DULES
最佳答案
我遇到了同样的问题,当我移动时,我的图 block 之间出现了垂直线。为了解决这个问题,我曾经使用以下代码:
public static void fixBleeding(TextureRegion[][] region) {
for (TextureRegion[] array : region) {
for (TextureRegion texture : array) {
fixBleeding(texture);
}
}
}
public static void fixBleeding(TextureRegion region) {
float fix = 0.01f;
float x = region.getRegionX();
float y = region.getRegionY();
float width = region.getRegionWidth();
float height = region.getRegionHeight();
float invTexWidth = 1f / region.getTexture().getWidth();
float invTexHeight = 1f / region.getTexture().getHeight();
region.setRegion((x + fix) * invTexWidth, (y + fix) * invTexHeight, (x + width - fix) * invTexWidth, (y + height - fix) * invTexHeight); // Trims
// region
}
这些方法(一种用于一组纹理,一种仅用于单个纹理)稍微调整图像,以便不会发生渗色。调整非常轻微(0.01f),几乎看不到,但它在消除垂直线方面做得很好。当您加载纹理时,只需通过 fixBleeding()
方法运行它们,您的问题就应该得到解决。
关于graphics - 平铺 map 移动中的白色垂直线和不稳定的水平线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391911/
我正在尝试制作一种能够解决拼贴问题中的大图 block 集的算法。现在它能够根据宽度和高度找到正确的 Tiles 来放置,但是在使其正确递归方面存在一些问题。 如您所见,这个想法是,在放置的每个图 b
有什么方法可以轻松地平铺 mdi parent 的所有表单 child 吗?我正在寻找 windows 提供的大部分功能,瓷砖级联。有谁知道一个简单的方法? 最佳答案 试试这些... // Tile
我有一个大 jpg,其分辨率为 x * 256/x * 256。我想将此图像切割为 256x256 的图块,命名约定为 {zoom}-{x}-{y}.jpg。过去我使用 ZoomifyExpress
如何使用ImageMagick平铺图像?我认为我不能使用montage,因为我希望将列偏移原始图像高度的50%。 展示我正在尝试做的事可能更容易: 从...开始: 结尾为: 谢谢! 最佳答案 感谢Fr
是否可以在 XNA 中平铺图像以使其填满整个矩形?我试过用谷歌搜索这个主题,但我找不到任何似乎有用的东西(虽然我可能遗漏了一些明显的东西)。我找到了 this MSDN page ,但我似乎无法让它工
我无法找到答案,为什么我为图 block map 制作的图 block 表在使用 libGDX 在屏幕上移动时会创建垂直白线和不稳定的水平线。 这是显示白色垂直线的视频:https://www.you
有谁知道 GitHub Java version of Tiled 中如何临时支持视差图层吗?工作正常吗? 它可以编译,并且执行得很好。但是,如果我将图层设置为viewplane distance 0
在我制作的平台游戏中,我需要加载图 block 才能创建关卡,但在下面的代码中我似乎遇到了问题。它说我在这部分有一个错误: String[] skips = skip.split(" "); 但对我来
使用 pdfimages 提取图像和 mupdf/mutool到目前为止工作正常。 使用 FreePDF 生成的 PDF 中的图像总是被切片,因此一个图像会生成多个图像文件。 有什么技巧可以避免这种情
我正在尝试使用 Tiled 编写基于 rts-like-tile 的游戏和 slick2d。 我不知道如何处理多图 block 对象,例如建筑物,如何创建、保存等等。移动它们。 最佳答案 一种解决方案
我想用一张图片来编写一个平铺 map 。它应该是一个 5x5 的小图片区域。我写了一些带有 2 个嵌套循环的 Javascript 代码。使用此解决方案,仅打印 1 张图片。当我在第二个循环中删除 b
我正在尝试使用 Slick2D 和 Tiled Map Editor 制作一个基本的 2D 游戏。我已经弄清楚如何使用 TileProperties 进行基本的碰撞检测,但我不确定对象如何与 map
我正在尝试创建一个无限滚动的分页 UIScrollView 我一直在关注 Advanced UIScrollView Techniques来自 WWDC 2010 的视频,但是我不确定如何为分页 UI
好吧,假设我有一个像本网站一样的冷却平铺背景。 http://www.leeslights.com/colors-shapes-sizes-and-prices.html 我将如何使图像平铺到浏览器,
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
这个问题在这里已经有了答案: CSS-only masonry layout (5 个答案) 关闭 2 年前。
我是一名优秀的程序员,十分优秀!