2013-09-28 2 views
0

그래서 내가 Slick2D를 사용하여 이미지를로드하기 위해 노력하고있어 작동하지만 화면에 이미지를 그릴 할 때 나는 다음과 같은 오류가 몇 가지 이유 :Slick2D로드 이미지 못해

Sat Sep 28 16:37:59 NZST 2013 ERROR:null 
java.lang.NullPointerException 
    at org.newdawn.slick.Graphics.drawImage(Graphics.java:1350) 
    at org.newdawn.slick.Graphics.drawImage(Graphics.java:1399) 
    at Game.render(Game.java:58) 
    at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:703) 
    at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456) 
    at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361) 
    at Game.main(Game.java:42) 
Sat Sep 28 16:37:59 NZST 2013 ERROR:Game.render() failure - check the game code. 
org.newdawn.slick.SlickException: Game.render() failure - check the game code. 
    at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:706) 
    at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456) 
    at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361) 
    at Game.main(Game.java:42) 

내가 이것을 사용하고

import org.newdawn.slick.Image; 
import org.newdawn.slick.SlickException; 

public class Textures { 

    static Image grass; 
    Game game; 


    public Textures() { 
      try { 
       grass = new Image("grass.jpg"); 
      } catch (SlickException e) { 
       e.printStackTrace(); 
      } 
    } 

} 

내 이미지를 그릴이 사용하고 있습니다 : 당신이,431,959,932을받을 경우

for(int x = 0; x < app.getWidth(); x+=32) { 
    for(int y = 0; y < app.getHeight(); y+=32) { 
     g.drawImage(textures.grass, x, y); 
    } 
} 
+0

질감 개체를 구성한 적이 있습니까? 그렇지 않으면 생성자가 호출되지 않고 잔디가 null이됩니다. – Clark

+0

'Graphics.java'의 1350 행은 어느 것입니까? – Barett

답변

1

을 내 이미지를로드 10 Image을 그릴 때 일반적으로 이미지 로더가 지정한 위치에서 이미지를 찾지 못했기 때문입니다. Eclipse을 사용하는 경우 이미지를 source folder (예 : '리소스')에 저장해야합니다. 이렇게하면 이미지가 편집시 bin 폴더로 이동됩니다 (원본 폴더를 새로 고쳐야 할 수도 있음).

설정에 관계없이 이미지의 경로가 올바른지 확인하십시오.