Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx:检测空的TextureRegion_Java_Libgdx_Textures - Fatal编程技术网

Java Libgdx:检测空的TextureRegion

Java Libgdx:检测空的TextureRegion,java,libgdx,textures,Java,Libgdx,Textures,我已经在Libgdx中构建了一个小游戏好几天了,我想实现一些动态的精灵分析器 我有一个png文件,我把它分割成纹理区域,然后用它制作动画。 因此,我将图像分割为64x64个区域,并对其进行迭代。现在我想忽略所有完全透明的区域。如何确定其中一个区域是否包含任何像素(并非所有像素都是透明的)。 我只是在搜索像textureRegion.isEmpty()或textureRegion.getTexture().isEmpty()这样的东西 有人能帮我吗?:) 我强烈建议不要这样做。因为你可以很容易地知

我已经在Libgdx中构建了一个小游戏好几天了,我想实现一些动态的精灵分析器

我有一个png文件,我把它分割成纹理区域,然后用它制作动画。 因此,我将图像分割为64x64个区域,并对其进行迭代。现在我想忽略所有完全透明的区域。如何确定其中一个区域是否包含任何像素(并非所有像素都是透明的)。 我只是在搜索像textureRegion.isEmpty()或textureRegion.getTexture().isEmpty()这样的东西
有人能帮我吗?:)

我强烈建议不要这样做。因为你可以很容易地知道哪个区域是完全透明的,所以你可以硬编码。甚至,最好将透明区域用于其他需要绘制的对象

如果你真的想实现这一点,你需要逐像素地检查区域,而这对于明显的分辨率不是很有效。如果出于某些原因我不知道您需要这个,那么LibGDX必须在这里帮助您检查图像的纹理数据


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

我强烈建议不要这样做。因为你可以很容易地知道哪个区域是完全透明的,所以你可以硬编码。甚至,最好将透明区域用于其他需要绘制的对象

如果你真的想实现这一点,你需要逐像素地检查区域,而这对于明显的分辨率不是很有效。如果出于某些原因我不知道您需要这个,那么LibGDX必须在这里帮助您检查图像的纹理数据


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

Hm是的,我不确定它是否会是我的最终实现,但现在我将像这样保留它。我在这里为我写了一些示例代码:这和你建议的一样,谢谢!)嗯,是的,我不确定这是否是我的最终实现,但现在我将像这样离开它。我在这里为我写了一些示例代码:这和你建议的一样,谢谢!)