我已经在 Libgdx 中构建了一个小游戏几天了,我想实现某种动态 Sprite 分析器。
我有一个 png 文件,我将其拆分为 TextureRegions 并从中构建动画。 因此,我将图像分割为 64x64 区域并对其进行迭代。现在我想忽略每个完全透明的区域。我如何确定这些区域之一是否实际上包含任何像素(并非所有像素都是透明的)。 我只是在寻找类似textureRegion.isEmpty()或textureRegion.getTexture().isEmpty()的东西 有人可以帮我吗? :)
最佳答案
我强烈建议不要这样做。由于您可以轻松地知道哪些区域是完全透明的,因此您可以对其进行硬编码。或者甚至,更好地使用透明区域来绘制其他需要绘制的东西。
如果你确实想实现这一点,你需要逐像素检查区域,对于明显的共振来说,这不是很有效。如果由于某些原因我不知道您需要这个,那么 LibGDX 有 PixMap帮助您检查图像的纹理数据。
另一种更有效的方法是在第一个(或其他已知)像素上添加已知颜色以检查它是否属于动画。这样您就不需要迭代整个纹理。
关于java - Libgdx : Detect empty TextureRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989538/