Почему мои изображения не загружаются в скомпилированный файл .jar?

Объяснение: в настоящее время я программирую игровую библиотеку на Java с помощью IntelliJ IDEA Community Edition. Я использую jSFML в качестве мультимедийной библиотеки. Я попытался отрендерить спрайт, используя вики-страницу jsfml, и все, казалось, работало нормально, поэтому я пошел дальше.

Проблема: Позже я попытался скомпилировать библиотеку с тестовой игрой и понял, что спрайт игрока не может быть загружен. Когда он запускается из редактора, все в порядке, но если я запускаю его вне редактора, он не работает. Это дает мне эту ошибку, что, я считаю, означает, что файл не существует, я не знаю:

      java.io.IOException: Failed to load image "C:\src\main\resources\Player.png". Reason : Unable to open file
    at org.jsfml.graphics.Texture.loadFromFile(Unknown Source)
    at org.jsfml.graphics.Texture.loadFromFile(Unknown Source)
    at filipeex.gamer.library.core.GameRenderer.DisplaySprite(GameRenderer.java:32)
    at filipeex.gamer.library.gameobjects.Player.FrameRender(Player.java:38)
    at filipeex.gamer.library.core.Game.FrameRender(Game.java:118)
    at filipeex.gamer.library.core.Game.InitLoop(Game.java:206)
    at filipeex.gamer.library.core.Game.InitWindow(Game.java:180)
    at filipeex.gamer.library.core.Game.Start(Game.java:52)
    at filipeex.gamer.library.testing.TestingAsUser.main(TestingAsUser.java:29)

Это код для загрузки текстуры и ее рендеринга в окно:

      GameRenderer.DisplaySprite("/src/main/resources/Player.png", position, rotation);

И сам метод:

      Texture t = new Texture();
t.loadFromFile(Paths.get(path));

Sprite s = new Sprite(t);
s.setPosition(position.x, position.y);
s.setScale(1, 1);
s.setRotation(rotation);

GameWindow.Get().draw(s);

Я уже:

  • искал много похожих вопросов,
  • перепробовал все возможные решения от них, включая добавление каталога в артефакт, не сработало.

0 ответов

Другие вопросы по тегам