Java 平铺单元之间的LibGDX随机空间

Java 平铺单元之间的LibGDX随机空间,java,libgdx,Java,Libgdx,我创建了一个单元格板,如下所示: 正如您所看到的,每看到几个高度单元,就有几个像素的间距 但这只有在我使用摄影机平移拖动地图后才会发生 我就是这样画地图的: batch.setProjectionMatrix(camera.combined); camera.update(); batch.begin(); batch.draw(sea, -5000, -5000, 0, 0, 10000, 10000); int[][] map = context

我创建了一个单元格板,如下所示:

正如您所看到的,每看到几个高度单元,就有几个像素的间距

但这只有在我使用摄影机平移拖动地图后才会发生

我就是这样画地图的:

    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();
通过我的输入程序:

@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;
}

我尝试过更改“离地”增量,但没有成功,它在我第一次拖动后开始执行这些空格操作。

也许您可以创建一个平铺贴图,而不是绘制单独的平铺?考虑到libgdx对此有支持,所以您不必自己进行这些计算

学习使用此或任何其他平铺贴图创建者:

Libgdx实现:

或者:

@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;
}