Libgdx:检测空的TextureRegion

时间:2015-06-22 20:48:11

标签: java libgdx textures

我已经在Libgdx建立了一个小游戏几天了,我想实现某种动态精灵分析器。

我有一个png文件,我将其拆分为TextureRegions并构建一个动画。 所以我将图像分成64x64区域并迭代它们。现在我想忽略每个完全透明的区域。如何确定其中一个区域是否实际包含任何像素(并非一切都是透明的)。 我只是在搜索像textureRegion.isEmpty()或textureRegion.getTexture()这样的东西.isEmpty() 有人可以帮我吗? :)

1 个答案:

答案 0 :(得分:0)

我强烈反对这一点。由于您可以轻松地知道哪个区域是完全透明的,因此您可以对其进行硬编码。甚至,更好地将透明区域用于需要绘制的其他东西。

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

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