1

ゲームで使用するライブラリ ShaderUtils があります。このライブラリを使用してゲームをエクスポートしようとすると、ShaderUtils が相対パスを介してシェーダーをロードしようとするため、正しく機能しません。どうすればこれを修正できますか? 次のようにロードしたい:

image = ImageIO.read(Level.class.getClassLoader().getResourceAsStream("heightmap.bmp"));

私は現在これをやっています:

BufferedReader reader = new BufferedReader(new FileReader(fragmentLoc));

bufferedReader が必要ですが、画像ファイルのようにロードされるように変更するにはどうすればよいですか?

4

4 に答える 4

2

次のように実行できます。

new BufferedReader(
    new InputStreamReader(
        Level.class.getClassLoader().getResourceAsStream("your_resource")
    )
);
于 2013-11-12T11:08:39.453 に答える
0
new BufferedReader(
    new InputStreamReader(
        Level.class.getClassLoader().getResourceAsStream("your_resource")
    )
);
于 2013-11-12T11:05:59.453 に答える
0

FileReader を取り除きます。リソースはファイルではありません。最初の例は、リソースをストリームとして取得する方法を示しています。InputStreamReader をラップし、次に BufferedReader をラップします。

Reader に画像ファイルをロードさせたいと考える理由は別の問題であり、意味を成すものではありません。

于 2013-11-12T11:06:41.503 に答える