我花了幾天的時間試圖找出我的代碼出了什麼問題。我試圖在libgdx中渲染一個瓷磚貼圖(.tmx),但它不渲染,它只是顯示一個沒有錯誤的紅色屏幕。我已經重寫了幾次代碼,並且總是得到相同的結果。我的平鋪地圖未在libgdx中呈現
我的代碼:
public class Main extends ApplicationAdapter {
SpriteBatch batch;
TiledMap map;
TmxMapLoader loader;
OrthogonalTiledMapRenderer renderer;
OrthographicCamera camera;
@Override
public void create() {
batch = new SpriteBatch();
loader = new TmxMapLoader();
map = loader.load("TiledMaps/TestMap.tmx");
renderer = new OrthogonalTiledMapRenderer(map);
camera = new OrthographicCamera();
camera.setToOrtho(false,Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
renderer.setView(camera);
renderer.render();
batch.begin();
batch.end();
}
@Override
public void dispose() {
batch.dispose();
renderer.dispose();
map.dispose();
}
}
任何人都可以找到發生了什麼事在這裏我有一個在Android資源文件夾中的文件夾TileMaps的tilesheet的TMX文件。
任何幫助表示讚賞,在此先感謝。
[如何在Android上使用LibGdx設置地圖大小](https://stackoverflow.com/questions/45018391/how-to-set-map-size-on-android-using-libgdx) – Aryan
tileWidth,tileHeight,mapWidth,mapHeight的值是多少? – Aryan
我想你需要在'batch.begin()'和'batch.end()'裏面包裝'renderer.render()'。你可以看到[這裏](https://github.com/haxpor/raceplant/blob/master/core/src/io/wasin/raceplant/states/Play.kt#L933-L963),類似於你在那裏做的。 – haxpor