0

私は現在 Slick2D をテストしているので、Pong ゲームを書いています。また、この PongGame では、./music フォルダーにある音楽ファイルを選択できます。

Eclipseで実行すると、すべてが完全に機能します。エクスポートすると、フォルダ内のすべてのネイティブとライブラリで実行されますが、起動しますが、音楽メニューが機能しません (音楽を選択するとクラッシュします)

あなたが見ることができるコード: 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で動作し、エクスポートされないのか理解できません。

4

1 に答える 1

0

のコンストラクターの JavaDocs はMusic(String)String. を受け取る J2SE メソッドは、String通常、それが へのパスを表すと仮定しFileます。もしそうなら、それが失敗の背後にある理由でもあります。

通常、これらのタイプのリソースは、アプリが組み込まれたときにリソースになります。構築されます。埋め込みリソースには、 からアクセスする必要がありますURL埋め込まれたリソース情報を参照してください。の形成に関するヒントのページURL

于 2013-02-04T13:22:54.397 に答える