Невозможно загрузить плиточную карту (Libgdx) - PullRequest
0 голосов
/ 15 сентября 2018

Я пробовал использовать разные мозаичные карты и использовать тип сжатия zlib. У меня есть файл PNG и файл TMX в папке активов под Android.

Если вам нужна дополнительная информация, я отвечу. Любая помощь приветствуется. Спасибо

package com.mm.test1;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.TmxMapLoader;
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;

public class TestOne extends ApplicationAdapter {
    private TiledMap map;
    private OrthogonalTiledMapRenderer renderer;

    @Override
    public void create () {
        map = new TmxMapLoader().load("grass1.tmx");
        renderer = new OrthogonalTiledMapRenderer(map);
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(0,0,0,1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        renderer.render();
    }

    @Override
    public void dispose () {
        map.dispose();
        renderer.dispose();
    }
}

Вот сообщение об ошибке:

  Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: Downloads/TilesetGrass/TilesetGrass/overworld_tileset_grass.png
        at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:149)
        at com.badlogic.gdx.graphics.TextureData$Factory.loadFromFile(TextureData.java:98)
        at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
        at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:96)
        at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:86)
        at com.badlogic.gdx.maps.tiled.TmxMapLoader.load(TmxMapLoader.java:67)
        at com.mm.test1.TestOne.create(TestOne.java:16)
        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: Downloads\TilesetGrass\TilesetGrass\overworld_tileset_grass.png (Internal)
        at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)
        at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
        at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:146)
        ... 8 more

Ответы [ 3 ]

0 голосов
/ 16 сентября 2018

Перейдите в конфигурацию запуска вашей IDE и установите рабочий каталог, указывающий на папку android / assets. Если у вас нет Android, и вы разрабатываете для настольного компьютера, вы можете найти папку активов в основном проекте.

0 голосов
/ 17 сентября 2018

Проблема заключается в файле .tsx (TileSet).
Перейдите в файл .tsx и измените:
<image source="Downloads/TilesetGrass/TilesetGrass/overworld_tileset_grass.png" ... />
на
<image source="[relative path to your .png from asset folder]" ... />

Byсоздавая свой TileSet для своей TileMap, вы, вероятно, должны выбрать .png, когда он еще находился в папке загрузки, поэтому ваш TileSet указывает на путь: Downloads/TilesetGrass/TilesetGrass/overworld_tileset_grass.png, указанный в сообщении об ошибке.

0 голосов
/ 15 сентября 2018

Как вы запустите свое приложение? Это исполняемый файл JAR или вы запускаете его через IDE? Когда вы запускаете его через IDE, вы должны установить рабочий каталог на android\assets.

...