我目前正在测试音乐,这就是为什么我要写一个乒乓球游戏,而且,在这个PongGame中,你可以选择音乐文件,它在./ Slick2D文件夹中
当我在Eclipse中运行它时,一切都运行得很好。当我导出它时,在文件夹中运行所有natives和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中工作,而导出时却不能。
发布于 2013-02-04 21:22:54
Music(String)
的构造函数的JavaDocs并不完全清楚它是如何解释String
的。接受String
的J2SE方法通常假定它表示到File
的路径。如果是这样的话,这也是失败的原因。
通常,这些类型的资源在应用程序运行时会变成embedded-resource。已经建造好了。嵌入的资源必须由URL
访问。有关形成URL
的提示,请参阅embedded resource info. page。
https://stackoverflow.com/questions/14687340
复制相似问题