我正在使用 StbImage Lwjgl 3 库将图像上传到游戏。而且我遇到了这样一个问题,即使用通常的路径访问我的资产:纹理、模型以及加载时"assets/pack"
要么"textures/"
或"models/"
抛出一个。FileNotFoundException
这并不奇怪,因为我没有使用完整路径,也就是说,我不包括"resources/"
. 顺便说一下,这里是完整的路径"resources/assets/pack"
。我使用了 SlickUtil
Texture texture = TextureLoader.getTexture("PNG", Class.class.getResourceAsStream
(assets/pack/textures/ + file + ".png"));
它奏效了。但现在我用
StbImage.stbi_load (CharSequence filename, IntBuffer x, IntBuffer y, IntBuffer channels_in_file, int desired_channels)
,并且它只接受一个 (CharSequence) 字符串作为参数。我只需要将 getResourceAsStream 返回的路径作为常规字符串获取。我需要这个,以便使用 stbi_load (CharSequance charS .......),我可以从我的 jar 文件中读取文件。只是 StbImage 没有提供这个,因为它是一个 C 库。
附言。我知道网站上有类似的答案,但我只是想找出可能还有更好的方法来解决我的问题。