java.lang.RuntimeException:找不到资源吗?

问题描述 投票:1回答:1

我不明白为什么会收到此错误:java.lang.RuntimeException:找不到资源我正在尝试使用Slick和LWJGL库制作一个简单的2D游戏,这份指南http://www.youtube.com/playlist?list=PLaNw_AbDFccGkU5gnFYquQ0PNQPmmD-Q7和我自己做了更多。

事实是,即使图像确实存在于指定位置,我仍会收到此错误。游戏运行完全正常,突然退出,并出现了我已经提到的错误。

错误:

Wed Nov 27 14:43:46 PST 2013 ERROR:Resource not found:
/home/tomtam/workspace/Game/gfx/world/object/blockgreen.png
java.lang.RuntimeException: Resource not found:
/home/tomtam/workspace/Game/gfx/world/object/blockgreen.png
    at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69)
    at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:273)
    at org.newdawn.slick.Image.<init>(Image.java:270)
    at org.newdawn.slick.Image.<init>(Image.java:244)
    at org.newdawn.slick.Image.<init>(Image.java:232)
    at org.newdawn.slick.Image.<init>(Image.java:198)
    at tomtam.game.object.BlockGreen.render(BlockGreen.java:18)
    at tomtam.game.main.World.render(World.java:447)
    at tomtam.game.state.PlayState.render(PlayState.java:76)
    at org.newdawn.slick.state.StateBasedGame.render(StateBasedGame.java:207)
    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 tomtam.game.main.Main.main(Main.java:36)
Wed Nov 27 14:43:46 PST 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 tomtam.game.main.Main.main(Main.java:36)

所以错误指向代码的这一部分(图像):

public void render(GameContainer gc, Graphics g) throws SlickException
{
    super.render(gc, g);
    image = new Image("/home/tomtam/workspace/Game/gfx/world/object/blockgreen.png");
}

我不是一个熟练的程序员,但是我想这个错误是因为即使位置或其他信息未发生变化,图像也会不停地渲染。可能会产生一些延迟尖峰,对吧?因此,我尝试将其更改为:

try 
{ 
    image = new Image("/home/tomtam/workspace/Game/gfx/world/object/blockgreen.png"); 
} 
catch (RuntimeException npe) 
{ 
}

我知道这样做是一件坏事,但是,这样一来,我不会收到任何错误,并且一切正常。一段时间后,某些图像开始闪烁,我等待的时间越长,直到最终消失的时间越少。

代码有点长,但是我可以发布它,只问一下。任何帮助将不胜感激。

java resources lwjgl slick runtimeexception
1个回答
0
投票

通常,当您的资源(现在的图像)不在CLASSPATH中并且通常是类路径问题时,发生“ java.lang.RuntimeException:未找到资源”。

This可能也会为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.