我遇到了一个问题,在使用Isometrictiledmaprenderer渲染时,等距映射旋转90度逆时针。
问题的图像。https://i.stack.imgur.com/lukje.jpg
public class Heist extends ApplicationAdapter {
public static final String MAP_NAME = "map.tmx";
OrthographicCamera camera;
IsometricTiledMapRenderer mapRenderer;
TiledMap map;
SpriteBatch batch;
@Override
public void create () {
batch = new SpriteBatch();
camera = new OrthographicCamera();
camera.setToOrtho(true, 30, 20);
map = new TmxMapLoader().load(MAP_NAME);
mapRenderer = new IsometricTiledMapRenderer(map, 1/32f);
mapRenderer.setView(camera);
}
@Override
public void render () {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
mapRenderer.render();
batch.end();
}
}
事实证明这是因为这一行。
camera.setToOrtho(true, 30, 20);
在这种情况下,y轴倒了。我们希望它是。
camera.setToOrtho(false, 30, 20);