2014-06-11 8 views
1

약 일주일 전 libGDX로 시작했는데 tmx에서로드하는 데 문제가 있습니다. 타일 ​​된지도. 지금까지 게임에서 "test.tmx"를 찾지 못했지만 왜 그런지 모르겠습니다! 경로는 내가 볼 수있는 한 정확합니다.LibGDX + Eclipse | .tmx() ​​파일을로드 할 수 없습니다.

지도 편집기로 "타일"을 사용합니다. Layer Format은 Base64입니다.

이것은 tmx에서로드하는 데 사용하는 코드를 보여주는 스크린 샷입니다. 파일 및 프로젝트 구조 : http://abload.de/img/tmxgpptc.png

나는 다음과 같은 오류 메시지가 얻을 :

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error parsing file: res/map/test.tmx 
at com.badlogic.gdx.utils.XmlReader.parse(XmlReader.java:83) 
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:113) 
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:101) 
at de.knightsquest.states.Play.<init>(Play.java:59) 
at de.knightsquest.handler.GameStateManager.getState(GameStateManager.java:35) 
at de.knightsquest.handler.GameStateManager.pushState(GameStateManager.java:46) 
at de.knightsquest.handler.GameStateManager.<init>(GameStateManager.java:20) 
at de.knightsquest.game.Game.create(Game.java:38) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) 
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: res\map\test.tmx (Internal) 
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136) 
at com.badlogic.gdx.files.FileHandle.reader(FileHandle.java:164) 
at com.badlogic.gdx.utils.XmlReader.parse(XmlReader.java:81) 
... 9 more 
+0

이 파일이 제대로 포맷, 전체 폴더 구조를 이동의 아이디어를 싫어? 프로젝트를 어떻게 실행합니까? 리소스를 빌드 경로로 내보내나요? – angrybobcat

답변

2

당신은 this wiki article about file handling을 읽어야합니다.

assets 폴더에 res\map\test.tmx을 Android 프로젝트 내에 배치해야합니다. 지도를로드하는 방법은 내부 (안드로이드/자산) 파일 경로를 가정합니다.

AssetManager을 통해 TiledMap을로드하는 것이 좋습니다.

+0

Thx! 그래, 그게 문제 였어. 나는 위키 기사를 읽을 것이다. :) –

1

ForeignGuyMike의 튜토리얼을 따라 갔다고 가정하면 하나의 프로젝트가 있지만 일반적으로 LibGDX-Tool을 사용하여 프로젝트를 자동 생성합니다. 자원을로드 할 때 LibGDX는 안드로이드 프로젝트의 assets 폴더를 검색합니다. 이전의 res-folder를 사용하는 대신 assets-folder를 사용하십시오. 프로젝트를 자동으로 생성 한 경우 종속성이 올바르게 설정되고 load 메소드를 호출하면 libgdx가 android 프로젝트에있는 assets-folder에있는 파일을 조회합니다. 자산 경로가 이미 있으므로 파일 경로는 "maps/test.tmx"이어야합니다.

그것이 내가 대답과 같은 생각 추측 것보다 일반적으로

... 난 그냥 자산은 우리의 능숙이기 때문에 ...

+0

최고! 고마워요! –