【问题标题】:Libgdx : Detect empty TextureRegionLibgdx:检测空的 TextureRegion
【发布时间】:2015-06-22 20:48:10
【问题描述】:

这几天我一直在用 Libgdx 构建一个小游戏,我想实现某种动态精灵分析器。

我有一个 png 文件,我将其拆分为 TextureRegions 并从中构建动画。 因此,我将图像拆分为 64x64 区域并对其进行迭代。现在我想忽略每个完全透明的区域。我如何确定这些区域之一是否实际上包含任何像素(并非所有内容都是透明的)。 我只是在寻找类似 textureRegion.isEmpty() 或 textureRegion.getTexture().isEmpty() 有人可以帮我吗? :)

【问题讨论】:

    标签: java libgdx textures


    【解决方案1】:

    我强烈建议不要这样做。由于您可以轻松知道哪些区域是完全透明的,因此您可以对其进行硬编码。甚至,最好将透明区域用于其他需要绘制的东西。

    如果你确实想实现这个,你需要逐个像素地检查区域,对于明显的共振来说,这不是很有效。如果由于某些原因我不知道你需要这个,那么 LibGDX 有PixMap 来帮助你检查图像的纹理数据。

    另一种更有效的方法是在第一个(或其他已知)像素上添加已知颜色,以检查它是否属于动画。这样您就不需要遍历整个纹理。

    【讨论】:

    • 嗯,是的,我不确定这是否是我的最终实现,但现在我会这样。 evilentity 在这里为我写了一些示例代码:badlogicgames.com/forum/… 这和你建议的一样,谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 2016-07-07
    相关资源
    最近更新 更多