【发布时间】:2017-08-02 01:12:47
【问题描述】:
过去几天我一直在试图找出我的代码出了什么问题。我试图在 libgdx 中渲染瓷砖地图(.tmx),但它没有渲染,它只是显示一个没有错误的红屏。我已经重写了几次代码,我总是得到相同的结果。
我的代码:
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 assets 文件夹的 TileMaps 文件夹中有带有 tilesheet 的 tmx 文件。
任何帮助表示赞赏,在此先感谢。
【问题讨论】:
-
你的地图的tileWidth,tileHeight,mapWidth,mapHeight的值是多少?
-
我认为您需要将
renderer.render()包裹在batch.begin()和batch.end()中。你可以看到here 和你在那里做的类似。
标签: java libgdx rendering tiled