Oyunumu bir .jar uygulamasında dağıtırken, Linux/Mac üzerinde hiçbir hata olmadan düzgün çalışıyor. Windows üzerinde Ancak Oyunum neden Linux'ta çalışıyor, ancak Windows'da çalışmıyor? (Java .jar)
, (özellikle henüz olarak, Windows 10 test), benim JFrame sonra bu fırlatma hataları ve boş ekran olsun:Exception in thread "PooledThread7" java.lang.IllegalStateException: Buffers have not been created
at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)
at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)
at java.awt.Component$FlipBufferStrategy.flip(Unknown Source)
at java.awt.Component$FlipBufferStrategy.show(Unknown Source)
at engine.Game$Render.render(Game.java:250)
at engine.Game$Render.run(Game.java:167)
at engine.PooledThread.run(ThreadPool.java:89)
ve
java.io.FileNotFoundException: res\maps\map.txt (The system cannot find the path specified)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at engine.testMapCreator.init(testMapCreator.java:69)
at engine.Game.init(Game.java:126)
at engine.Game.main(Game.java:80)
Öyleyse Windows, iş parçacığı havuzu oluşturmama benzemiyor ve bir sebepten dolayı .jar Linux içindeki harita dosyalarını bulurken, Windows'da onları bulamıyor.
... "Bir kez yaz, Her yere koş", değil mi? Sorunlar ne olabilir?
düzenleme: İlk hata muhtemelen yardımcı olacaktır komut satırına -Dsun.java2d.d3d=false
eklemek için
InputStream is = Game.class.getResourceAsStream("/map.txt")
Scanner scanner = new Scanner(is);
(for loops to iterate over the data)
Hata okumada değil, * yazmada * res \ maps \ map.txt ' –
Bu bölüm düzeltildi, ancak bu küçük bir sorundur. İlk sorun ana sorun. Şimdiye kadar sadece render yöntemini bir catch yakalamada yakaladım. Şimdi IllegalStateException'ı yakaladım, ancak artık konsoldaki hatayı spam ederken kare titriyor. Sadece birkaç kare kare yakalama bloğundan geçiyor gibi görünüyor. –