如何使用.jng中打包的.png中的数据作为LWJGL中的纹理?

时间:2011-07-06 00:43:07

标签: java opengl png textures lwjgl

所以我使用LWJGL在Java中制作基本游戏。我在.jar中打包了一个.png文件,当它仍然在.jar中时显然不能用于纹理。我能想到从.jar中获取文件的唯一方法是创建一个Image对象。

我尝试过使用getResource,但我目前设置的方式是调用创建FileInputStream的路径(我使用PNGDecoder类来获取PNG的FileInputStream并直接创建LWJGL纹理) ,因此无法从.jar中读取.png。

有谁知道我如何让PNGDecoder感到高兴,或者有另一种方法将打包的.png转换为LWJGL纹理?

1 个答案:

答案 0 :(得分:2)

PNGDecoder可能接受任何InputStream而不只是FileInputStream。使用getClass().getResourceAsStream(...)直接获取.jar中.png文件的InputStream,而无需先将其解压缩。