我创建了一个看起来像这样的单元格板:
正如您所看到的,您可以看到每隔几个高度单元格的间距就会增加几个像素。
但这只有在我使用相机翻译拖动地图后才会发生。
这就是我绘制地图的方式:
batch.setProjectionMatrix(camera.combined);
camera.update();
batch.begin();
batch.draw(sea, -5000, -5000, 0, 0, 10000, 10000);
int[][] map = context.getBattle().getMap();
int widthOffset = 0;
int heightOffset = 0;
for(int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; j++) {
heightOffset += 65;
batch.draw(tiles.get(map[i][j]), i + widthOffset, j + heightOffset, 65, 65);
}
widthOffset += 65;
heightOffset = 0;
}
batch.end();
我的翻译在这里被称为:
public void handleDrag(float screenX, float screenY) {
camera.translate(-screenX, screenY);
}
由我的输入处理器:
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
float x = Gdx.input.getDeltaX();
float y = Gdx.input.getDeltaY();
context.getRendering().getSeaBattle().handleDrag(x, y);
return false;
}
我尝试过更改offsetHeight增量,但没有运气,它在我第一次拖动后开始执行这些空格。
答案 0 :(得分:1)
也许您可以创建平铺地图而不是绘制单独的图块?考虑到libgdx支持这一点,所以你不必自己做这些计算。
学习使用此瓷砖地图或任何其他瓷砖地图创建者:
Libgdx暗示:
或者或许: