我正在用Slick2D for Java制作一个游戏,但是当我试图显示一个图像( Slick2D类型)时,它给了我这个错误:
java.lang.NullPointerException
at org.newdawn.slick.Graphics.drawImage(Graphics.java:1384)
at org.newdawn.slick.Graphics.drawImage(Graphics.java:1433)
at luke_r.games.java.broadway.states.M.render(M.java:21)
at org.newdawn.slick.state.StateBasedGame.render(StateBasedGame.java:199)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:688)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at luke_r.games.java.broadway.C.main(C.java:21)下面是M类(不包括导入和类声明,它们是不必要的):
@Override
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException
{
PL.x = 100;
PL.y = 100;
}
@Override
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException
{
g.drawImage(I.title, 0, 0); //Line 21, the error
PL.render(g);
}
@Override
public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException
{}
@Override
public int getID()
{
return 0;
}发布于 2014-03-11 18:03:49
问题是I.title ==为空。将其设置为正确的值。
发布于 2017-01-17 22:55:57
在init函数中,将图像的url设置为I.title,我的意思是=> I.title = new (“-your URL-");Slick2D以这种形式工作:首先,他在方法init中插入所有参数,然后直到发生更改当前状态" he”=> update =>呈现=> update =>render => update .可以使用SetUpClass方法设置更新在SetTargetFrameRate中发生的次数。
https://stackoverflow.com/questions/22332776
复制相似问题