Mam załadowane wszystkie moje obrazy z powodzeniem w przeszłości i używam OpenGL ES 2.0, więc obrazy nie muszą być potęgami dwóch (mam kilka załadowanych pomyślnie, że nie są).LibGDX nie może załadować określonego obrazu
Kod na pytanie brzmi:
Line 96: splashSheet = new Texture(Gdx.files.internal("test.png"));
To jest mój komunikat o błędzie:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: test.png
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:111)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: test.png
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
at com.badlogic.gdx.graphics.Texture.load(Texture.java:175)
at com.badlogic.gdx.graphics.Texture.create(Texture.java:159)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:122)
at com.panini.game.GameScreen.show(GameScreen.java:96)
at com.badlogic.gdx.Game.setScreen(Game.java:59)
at com.panini.game.Splash.render(Splash.java:29)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:190)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:108)
Caused by: java.io.IOException: couldn't load pixmap
at com.badlogic.gdx.graphics.g2d.Gdx2DPixmap.<init>(Gdx2DPixmap.java:57)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:138)
... 11 more
Oto, co sprawia, że to ciekawy problem. Mogę załadować plik this, ale nie mogę załadować pliku this. Ten pierwszy to po prostu przycięty zrzut ekranu tego, którego chcę użyć. Drugi obraz, który podałem (który nie działa) jest oryginalny. Nazywa się splashSprites.png, ale próbowałem zmienić nazwę na test.png i poprawnie go odnosiłem, ale nadal nie działa, więc wiem, że to zdecydowanie nie jest kwestia nazewnictwa ani nic. Jeśli umieściłem oba pliki w katalogu aktywów lub katalogu bin, odpowiednio test1.png i test2.png, kod zadziała, gdy poproszę o załadowanie test1.png, ale nie, jeśli poprosię o załadowanie test2.png, więc to nie jest tak, że ja ' m również umieszcza pliki w niewłaściwym miejscu. Ci dwaj byli chyba najbardziej prawdopodobnymi kandydatami, ale ich wykluczyłem.
Próbowałem innych rzeczy, takich jak ponowne wyeksportowanie pierwszego obrazu i takie, ale nigdy nie działało (co było pracy było biorąc zrzut ekranu, dlatego jestem tutaj). Domyślam się, że może to mieć coś wspólnego z alfą na jednym z obrazów (ponieważ to jest naprawdę jedyna rzecz z dwóch - jedna ma alfa, a druga nie), ale jest to mało prawdopodobne, ponieważ mogłem załadować inne tekstury, które miały alfa. Naprawdę jestem zakłopotany.
Z góry dziękuję.
my 2 pens: with imagemagick używa "png8: name.png" jako pliku wyjściowego do wymuszenia formatu 8-bitowego – njzk2