Im Sprite를로드하기 위해 LibGDX에서 구현 한 TexturePacker를 사용하고 있습니다. 그러나 어떤 이유로, 파일이 발견하고 나에게이 예외를 제공하지 않습니다 :내 텍스처 패커가 스프라이트를 찾지 못하는 이유는 무엇입니까?
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.width = 800;
config.height = 800;
deleteFiles();
processSprites();
new LwjglApplication(new OneRoom(), config);
}
public static void deleteFiles() {
File outputDir = new File("../android/assets/sprites/output");
File[] listFiles = outputDir.listFiles();
if (listFiles != null && listFiles.length > 0) {
for (File file : listFiles) {
file.delete();
}
}
}
public static void processSprites() {
TexturePacker.Settings settings = new TexturePacker.Settings();
//System.out.println(Gdx.files.internal("sprites/input/player.png").toString());
TexturePacker.process(settings, "sprites/input", "sprites/output", "pack"); // THIS LINE CAUSES THE ERROR
}
내가 또 다른 프로젝트에서 동일한 코드를 가지고와이 코드는 오류의 원인이
Exception in thread "main" java.lang.RuntimeException: Error packing images.
at com.badlogic.gdx.tools.texturepacker.TexturePacker.process(TexturePacker.java:620)
at com.zebleck.OneRoom.desktop.DesktopLauncher.processSprites(DesktopLauncher.java:35)
at com.zebleck.OneRoom.desktop.DesktopLauncher.main(DesktopLauncher.java:17)
Caused by: java.lang.IllegalArgumentException: Input file does not exist: C:\Users\Kontor\Desktop\Codeporn\LibGDX-workspace\OneRoom\desktop\sprites\input
at com.badlogic.gdx.tools.FileProcessor.process(FileProcessor.java:117)
at com.badlogic.gdx.tools.texturepacker.TexturePackerFileProcessor.process(TexturePackerFileProcessor.java:70)
at com.badlogic.gdx.tools.texturepacker.TexturePacker.process(TexturePacker.java:618)
... 2 more
그것은 잘 작동합니다. 아직 프로젝트 속성에 차이점을 발견하지 못했습니다.
입력 스프라이트를 C : \ Users \ Kontor \ Desktop \ Codeporn \ LibGDX-workspace \ OneRoom \ desktop \ sprites \ input에 복사 했습니까? – Hllink
작업 디렉토리는 실행 구성에서'sprites /'가 들어있는 디렉토리로 설정되어야합니다. – Tenfour04