Небольшая проблема с загрузкой файла LibGdx

Итак, я пытаюсь загрузить файл эффекта частиц в libgdx, и я получаю исключение «Файл не найден».

Вот мой код:

 particleEffect = new ParticleEffect();
 particleEffect.load(Gdx.files.internal("bin/emiter.pahh"),Gdx.files.internal("bin/untitled.png")); 

Вот как выглядят мои папки

введите здесь описание изображения:

И вот ошибка:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: bin/untitled.png/Untitled.png
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:107)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: bin/untitled.png/Untitled.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:126)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.loadTexture(ParticleEffect.java:195)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.loadEmitterImages(ParticleEffect.java:190)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.load(ParticleEffect.java:138)
at com.me.mygdxgame.MyGdxGame.create(MyGdxGame.java:124)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:121)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:104)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: bin\untitled.png\Untitled.png (Internal)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:127)
at com.badlogic.gdx.files.FileHandle.length(FileHandle.java:566)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:215)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
... 11 more

В чем может быть проблема?


person Justas Sakalauskas    schedule 25.09.2012    source источник
comment
Что-то, что я заметил из макета вашей папки: файл assets должен быть в вашем проекте Android и связан оттуда с вашим проектом Desktop (упаковка Android не работает со связанными активами). Похоже, у вас есть ресурсы, связанные с общим проектом. (См. code.google.com/p/libgdx/wiki/ProjectSetup#Asset_folder_setup) Но это не проблема, которую вы видите, поскольку вы сталкиваетесь с проблемами на рабочем столе...   -  person P.T.    schedule 25.09.2012


Ответы (2)


У вас есть путь к файлу: "assets/emiter.phh"

Это должно быть: "assets/emiter.pahh" согласно вашей картинке.

Редактировать:

Я посмотрел на ваше исправленное сообщение об ошибке:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: File not found: assets\emiter.pahh (Internal)
at   com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:107)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: assets\emiter.aphh (Internal)

Тот факт, что имя изменилось в середине трассировки стека, сбивает меня с толку...

"File not found: assets\emiter.pahh (Internal)"
"File not found: assets\emiter.aphh (Internal)"

Вы уверены, что назвали его правильно, потому что ошибка исходит из дескриптора файла libGDX. Кроме того, файл помещается в папку «bin» проекта, в котором вы работаете? Вы должны увидеть файл в 'my-gdx-game/bin/emitter.pahh'.

Кроме того, нужно ли запускать ParticleEmitterTest в тестовом проекте libGDX?

Редактировать2:

Вам нужно будет изменить эти две строки с:

particleEffect = new ParticleEffect();
particleEffect.load(Gdx.files.internal("bin/emiter.pahh"),
    Gdx.files.internal("bin/untitled.png"));

to:

particleEffect = new ParticleEffect();
particleEffect.load(Gdx.files.internal("bin/emiter.pahh"),
    Gdx.files.internal("bin"));

Я считаю, что путь к изображению определен внутри файла эмиттера :).

person Jyro117    schedule 25.09.2012
comment
Обновил мой вопрос. pahh изменение на aphh было моей ошибкой при наборе текста, я извиняюсь за это! (на этот раз я скопировал ошибку) ;) также я не вижу папку bin в папке my-gdx-game, и когда я пытаюсь ее создать, она говорит, что она уже существует. Хотя каким-то образом я скопировал файлы в обе папки bin (основной проект и рабочий стол). Похоже, что проблема не найдена в файле emmiter, перешла к еще более интересной.. Взгляните ;) - person Justas Sakalauskas; 30.09.2012

Та же ошибка может возникнуть в OSX с такими путями, как «level_bodies\level6\» в IntelliJ. Под виндой работает.

person eleven    schedule 13.11.2012