我在我的Java应用程序中使用slick2d。在我的render方法中,我使用了一个名为changeBackground();
的方法@Override
public void render(GameContainer gc, StateBasedGame sbg, Graphics g)
throws SlickException {
changeBackground(g);
}
changeBackground();
public void changeBackground(Graphics g) throws SlickException{
Thread.sleep(500);
g.setBackground(new org.newdawn.slick.Color(0, 255, 0);
Thread.Sleep(500);
g.setBackground(new org.newdawn.slick.Color(255, 0, 0);
changeBackground(g);
}
当我运行我的应用程序时,游戏崩溃。
答案 0 :(得分:3)
你可能正在堆叠溢出。
public void changeBackground(Graphics g) throws SlickException{
Thread.sleep(500);
g.setBackground(new org.newdawn.slick.Color(0, 255, 0);
Thread.Sleep(500);
g.setBackground(new org.newdawn.slick.Color(255, 0, 0);
changeBackground(g); // you're calling this funct again! BAD
}
删除最后一行,希望你不会在那个地方崩溃。