Файл не найден при загрузке мозаичной карты (libgdx)

Я отчаянно ищу помощи. Искал уже везде, не могу найти ответ. Я пытаюсь загрузить Tmx Tiled карту с помощью libgdx. Я понятия не имею, что не так, это исключение:

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 и соответствующий файл tileset.png находятся в папке ресурсов.

Пробовал также переделать карту с другим набором плиток - получил ту же ошибку. Я вижу 'level1.tmx' в окне просмотра проекта, в папке активов, на 100% уверен, что они есть. Использование Android Studio. Исключение выше выдается, когда я пытаюсь запустить программу на рабочем столе. Поскольку я пытаюсь сделать это в Android, все нормально, скомпилировано и построено, но карта не отображается, и я ничего не вижу, кроме черного экрана. Надеюсь, есть человек, который мог бы помочь мне, с уважением:)

0 ответов

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