我花了几天的时间试图找出我的代码出了什么问题。我试图在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