簡體   English   中英

Slick2D NullPointerException

[英]Slick2D NullPointerException

我在Slick2D for Java中制作游戲,但是當我試圖顯示一個Image(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;
}

問題是I.title == null。 將其設置為正確的值。

在init函數中將圖像的url設置為I.title,我的意思是=> I.title = new Image(“ - your URL-”); Slick2D以這種形式工作:首先,他在方法init中初始化所有參數,然后直到發生更改當前狀態“he”render => update => render => update => render => update ... You可以使用SetTargetFrameRate方法設置更新將在SetUpClass中發生多少。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM