2012-07-03 3 views
0

Итак, я следую инструкциям thenewboston на Slick 2D. Я загрузки изображения точно так, как он сказал:Слайк не может загружать изображение?

private org.newdawn.slick.Image playNow; 
... 
public void init(GameContainer gc, StateBasedGame sbg) throws SlickException { 
... 
playNow = new org.newdawn.slick.Image("res/playNow.png"); 

Это мой Eclipse, дерево проекта:

tree

Это выход дает мне:

Tue Jul 03 09:31:53 PDT 2012 INFO:Slick Build #274 
Tue Jul 03 09:31:53 PDT 2012 INFO:LWJGL Version: 2.8.5 
Tue Jul 03 09:31:53 PDT 2012 INFO:OriginalDisplayMode: 1366 x 768 x 32 @60Hz 
Tue Jul 03 09:31:53 PDT 2012 INFO:TargetDisplayMode: 640 x 360 x 0 @0Hz 
Tue Jul 03 09:31:53 PDT 2012 INFO:Starting display 640x360 
Tue Jul 03 09:31:53 PDT 2012 INFO:Use Java PNG Loader = true 
Tue Jul 03 09:31:53 PDT 2012 INFO:Controllers not available 
Exception in thread "main" java.lang.RuntimeException: Resource not found: res/playNow.png 
at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69) 
at org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:169) 
at org.newdawn.slick.Image.<init>(Image.java:196) 
at org.newdawn.slick.Image.<init>(Image.java:170) 
at org.newdawn.slick.Image.<init>(Image.java:158) 
at org.newdawn.slick.Image.<init>(Image.java:136) 
at net.sourceforge.whowantsakookie.hamblaster.Menu.init(Menu.java:21) 
at net.sourceforge.whowantsakookie.hamblaster.Game.initStatesList(Game.java:20) 
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:164) 
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:390) 
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314) 
at net.sourceforge.whowantsakookie.hamblaster.Game.main(Game.java:31) 

В Учебное пособие расположено here

Я делаю t его, как говорится в учебнике, и он работает для него в видео. Спасибо заранее

+0

Фрагмент кода не отображает пакет, что не имеет отношения к префиксу '/' в 'String'. –

+0

Так я его видел. В 'org.newdawn.slick.ResourceLoader' он получает его как InputStream. – mattbdean

+0

Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –

ответ

1

Нет, ваша проблема в том, что папка «res» находится в той же папке, в которой находится файл «src»!

переместите папку «res», содержащую все ваши изображения, в папку/пакет src/net.sourceforge.whowant/»в вашей программе.

В вашей программе вы будете загружать его с помощью

playNow = new org.newdawn.slick.Image("res/playNow.png"); 

Надеется, что это помогает! :)

Смежные вопросы