我目前正在测试Slick2D,这就是我为什么要写Pong游戏, 此外,在这个PongGame中,您可以选择音乐文件,它们位于./music文件夹
中当我通过Eclipse运行它时,一切都很完美。 当我导出它时,运行它与文件夹中的所有本机和Librarys,它也启动, 但音乐菜单不起作用(当我选择音乐时它只会崩溃)
您可以看到的代码: https://bitbucket.org/JohnnyCrazy/pingpong/src/f2fd635ccfef/src/me/Johnny/Slick2D?at=master
Error: Mon Feb 04 13:47:05 CET 2013 ERROR:OpenAL error: Invalid
Operation (40964) org.lwjgl.openal.OpenALException: OpenAL error:
Invalid Operation (40964)
at org.lwjgl.openal.Util.checkALError(Util.java:64)
at org.lwjgl.openal.AL10.alDeleteBuffers(AL10.java:1097)
at org.newdawn.slick.openal.AudioImpl.release(AudioImpl.java:56)
at org.newdawn.slick.Music.release(Music.java:424)
at me.Johnny.Slick2D.Slick2D.setMusic(Slick2D.java:57)
at me.Johnny.Slick2D.MusikState.update(MusikState.java:108)
at org.newdawn.slick.state.StateBasedGame.update(StateBasedGame.java:278)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:678)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361)
at me.Johnny.Slick2D.Slick2D.main(Slick2D.java:40) Mon Feb 04 13:47:05 CET 2013 ERROR:Game.update() failure - check the game code.
org.newdawn.slick.SlickException: Game.update() failure - check the
game code.
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:684)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:456)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:361)
at me.Johnny.Slick2D.Slick2D.main(Slick2D.java:40)
我不明白为什么它在Eclipse中有效并且导出它没有。
答案 0 :(得分:0)
Music(String)
的构造函数的JavaDocs对于如何解释String
并不完全清楚。采用String
的J2SE方法通常假定它代表File
的路径。如果是这种情况,那也是失败背后的原因。
通常,这些类型的资源在应用时变为embedded-resource。建成。 URL
必须访问嵌入式资源。有关形成URL
的提示,请参阅embedded resource info. page。