我急切地寻求帮助。已在各处搜索,找不到答案。 我正在尝试使用libgdx加载tmx Tiled地图。我不知道怎么了,这是一个例外:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error parsing file: level1.tmx
at com.badlogic.gdx.utils.XmlReader.parse(XmlReader.java:83)
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:80)
at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:67)
at com.mygdx.game.PlayScreen.<init>(PlayScreen.java:35)
at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:30)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:149)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: level1.tmx (Internal)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)
at com.badlogic.gdx.files.FileHandle.reader(FileHandle.java:163)
at com.badlogic.gdx.utils.XmlReader.parse(XmlReader.java:81)
...
这是我的代码:
public class PlayScreen implements Screen {
private MyGdxGame game;
private Texture texture;
private OrthographicCamera gamecam;
private Viewport gamePort;
private Hud hud;
private TiledMap map;
private TmxMapLoader mapLoader;
private OrthogonalTiledMapRenderer renderer;
public PlayScreen(MyGdxGame game) {
this.game = game;
gamecam = new OrthographicCamera();
gamePort = new FitViewport(MyGdxGame.V_WIDTH, MyGdxGame.V_HEIGHT, gamecam);
hud = new Hud(game.batch);
mapLoader = new TmxMapLoader();
map = mapLoader.load("level1.tmx"); //THIS file cannot be found...
renderer = new OrthogonalTiledMapRenderer(map);
gamecam.position.set(gamePort.getWorldWidth() / 2, gamePort.getWorldHeight() / 2, 0);
}
@Override
public void show() {
}
public void handleInput(float dt) {
if (Gdx.input.isTouched())
gamecam.position.x += 100 * dt;
}
public void update(float dt) {
handleInput(dt);
gamecam.update();
renderer.setView(gamecam);
}
@Override
public void render(float delta) {
update(delta);
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
renderer.render();
game.batch.setProjectionMatrix(hud.stage.getCamera().combined);
hud.stage.draw();
}
//lines above are potentially bad
...
}
level1.tmx和适当的tileet.png文件一起位于Assets文件夹中。
还尝试了使用另一个贴图集重新制作地图-遇到相同的错误。我在资产文件夹中的项目视图窗口中看到“ level1.tmx”,100%确保它们在那里。使用Android Studio。 当我尝试在桌面上运行程序时,抛出以上异常。当我尝试在android中进行操作时,一切都很好,可以进行编译和构建,但是没有呈现任何地图,除了黑屏外我什么都看不到。 希望有人可以帮助我,问候:)