Эта проблема казалась мне очевидной, но что бы я ни пытался, она не работает. То, что я пытаюсь сделать, это включить мини-версию моего PlayScreen в ScrollPane
в качестве учебного пособия, где вы можете прочитать текст и сразу попробовать его.
Поскольку я не нашел лучшего решения, чтобы добавить это к Table
внутри ScrollPane
, я отредактировал метод draw()
PlayScreen, чтобы взять ScrollPane.getScrollPercentY()
и сместить камеру соответственно, PlayScreen.
Теперь я хочу визуализировать только часть области просмотра, которая обычно видна в реальной игре. Впоследствии я хочу иметь возможность контролировать размер и положение этого «окна».
![libGdx Problem visualised](https://i.stack.imgur.com/v0sRo.png)
Я также хочу иметь возможность изменять размер и перемещать содержимое, обрезая края, которые не видны камере. Вот что я попробовал в PlayScreenDraw:
public void draw(final float yOffset,
final int xTiles,
final int yTiles) {
view.getCamera().position.y = yTiles / 2f - yOffset * yTiles / HEIGHT; // HEIGHT = 800
view.getCamera().position.x = xTiles / 2f;
view.setWorldSize(xTiles, yTiles); //Do i even need to change the world size?
b.setProjectionMatrix(view.getCamera().combined);
b.begin();
...
b.end();
view.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
Что дает мне, с точки зрения картинки выше, это
![libGDX Problem visualised 2](https://i.stack.imgur.com/Q3XVk.png)
Как мне нужно изменить видовой экран и / или камеру? Кстати, вот как я настроил два:
cam = new OrthographicCamera();
cam.setToOrtho(false, WIDTH, HEIGHT); // WIDTH = 8, HEIGHT = 16
batch.setProjectionMatrix(cam.combined);
view = new FitViewport(WIDTH, HEIGHT, cam);