仅使用class.getResourceAsStream(stringPath)加载一个png文件

时间:2014-09-09 17:39:41

标签: java png classloader slick2d

我正在尝试使用slick2D库完成我的第一个Java游戏。 我把它全部用于eclipse但是当我要制作一个jar文件时,我确实意识到我必须使用类加载器来加载我的png - SpriteSheets。

但现在问题。我的ResourceLoader类看起来像这样:

public static InputStream load(String path){
    InputStream input = MyResourceLoader.class.getResourceAsStream(path);
    if(input==null){
        input = MyResourceLoader.class.getResourceAsStream("/"+path);
    }
    return input;
}

我在BasicGame类中的init-Method,我尝试加载我的png文件,如下所示:

public void init(GameContainer arg0) throws SlickException {
    InputStream inputStream1 = MyResourceLoader.load("images/piratR.png");
    sprite1 = new SpriteSheet("",inputStream1,32,32);

    InputStream inputStream2 = MyResourceLoader.load("images/monkey.png");
    sprite2 = new SpriteSheet("",inputStream2,32,32);

    animation1 = new Animation(sprite1,200);
    animation2 = new Animation(sprite2,250);

} 

这适用于加载FIRST png文件(例如piratR.png),但每当我尝试加载另一个文件时,它只会再加载第一个文件。所以在这种情况下,虽然有不同的图像,但sprite1和sprite2看起来是一样的。

我一直试图让这种情况持续好几周,所以如果有人怎么能告诉我出错的目的是什么,或者指出我正确的方向,我将不胜感激。 // 安德斯,瑞典

0 个答案:

没有答案