簡體   English   中英

無法加載平鋪地圖 (Libgdx)

[英]Unable to load tiled map (Libgdx)

我嘗試使用不同的平鋪地圖並使用 zlib 壓縮類型。 我在android下的assets文件夾中有png文件和tmx文件。

如果您需要更多信息,我會回復。 任何幫助表示贊賞。 謝謝

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

問題在於 .tsx (TileSet) 文件。
進入 .tsx 文件並更改:
<image source="Downloads/TilesetGrass/TilesetGrass/overworld_tileset_grass.png" ... />

<image source="[relative path to your .png from asset folder]" ... />

通過為您的 TileMap 創建您的 TileSet,您可能已經選擇了 .png 當它仍在下載文件夾中時,因此您的 TileSet 指向錯誤消息中顯示的路徑: Downloads/TilesetGrass/TilesetGrass/overworld_tileset_grass.png

你如何開始你的申請? 這是一個可運行的 jar 文件還是通過 IDE 運行它? 當您通過 IDE 啟動它時,您必須將工作目錄設置為android\\assets

轉到 IDE 的運行配置並設置指向 android/assets 文件夾的工作目錄。 如果您沒有 android 並且您正在為桌面開發,您可以在核心項目中找到 assets 文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM