1

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

我试过使用getResource,但我目前设置它的方式是它调用路径来创建一个FileInputStream(我正在使用一个PNGDecoder类,它采用PNG的FileInputStream并直接创建LWJGL纹理),所以它无法从 .jar 中准确读取 .png。

有谁知道我怎样才能让 PNGDecoder 开心,或者有另一种方法将打包的 .png 转换为 LWJGL 纹理?

4

1 回答 1

2

PNGDecoder可能接受任何InputStream而不仅仅是一个FileInputStream. 用于getClass().getResourceAsStream(...)直接获取InputStream.jar中的.png文件,无需先解压。

于 2011-07-06T11:04:53.220 回答