2016-12-23 1 views
0

Libgdx를 사용하여 Eclipse에서 데스크탑 게임을 만들었습니다. 게임은 이클립스에서 훌륭하게 실행되지만, jar 파일로 내보낼 때 FileHandle list() 메서드는 작동하지 않습니다. 내가 다음 코드 줄 사용 : 항아리에 내보낼 때Libgdx FileHandle list() 메서드가 jar 파일에서 작동하지 않습니다.

songFiles = Gdx.files.internal("./bin/" + "songs/").list(); 
System.out.println(songFiles[0]); 

가 다시 이클립스는 파일 location.However을 출력을, 나는 java.lang.ArrayIndexOutOfBoundsException: 0 오류가 발생합니다.

Cannot export default Java libGDX project as a jar from Eclipse 내가 그것은 당신이 목록 또는 배열을 생성하지만, u는 길이가 초기화되지 않았다고

+1

[java.lang.ArrayIndexOutOfBoundsException의 원인은 무엇이며 어떻게 방지 할 수 있습니까?] (http://stackoverflow.com/questions/5554734/what-causes-a-java-lang-arrayindexoutofboundsexception-and- how-do-i-prevent-it) – ItamarG3

+1

아니요, 문제는 list() 메소드가 eclipse에서와 동일한 방식으로 작동하지 않는다는 것입니다. 프로젝트를 jar 파일로 내보낼 때 파일 구조와 관련이 있다고 생각합니다. –

+0

나는 이와 같은 것을 쓰려고했지만 정확히 무슨 문제인지 알 수 없다. –

답변

0

을 데 문제 비슷합니다. 그래서 오류 메시지 끝에 0이 표시됩니다.

+0

배열이 libgdx의 FIleHandle 클래스 (https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/files/FileHandle)의 메소드 list()에 의해 제공 되었기 때문에 이것은 원인이되지 않습니다. html). 그것도 일식에서 실행될 때 일식이 그것을 잡을 것이기 때문에 왜 작동하는지 설명하지 않습니다. –

0

데스크톱 응용 프로그램에서는 list() 메서드를 사용할 수 없으므로 노래 디렉토리의 파일 이름을 읽고 텍스트 파일에 쓰면이 문제가 해결됩니다.

관련 문제