java - Libgdx : Detect empty TextureRegion

标签 java libgdx textures

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

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

最佳答案

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

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

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

关于java - Libgdx : Detect empty TextureRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989538/

相关文章:

java - Spring @Autowired注解和ContextComponent扫描以及@autowired注解的对象

java - 泛型类型参数

java - Box2D 让重力影响不同的质量

libgdx - 了解 LibGDX 坐标系和绘制 Sprite

java - Java中从子类构造函数调用 super 构造函数

javascript - three.js 纹理错误读取 "GL_INVALID_OPERATION : glDrawElements: Source and destination textures of the draw are the same"

java - 如何导出对称加密 key ?

java - 来自 4x4 变换矩阵 (libgdx) 的意外旋转角度

directx - 球体纹理映射错误

java - 如何从 Java EE 应用程序提供套接字服务?