Witam. Mam oto taki problem. Piszę grę planszową i w pewnych momentach chciałbym móc rozszerzać planszę. Tzn powiedzmy najpierw startuje z rozmiarami 10x10m, a co jakiś czas może zdarzyć się sytuacja w które dodaję wiersz lub kolumnę do planszy i chciałbym odświeżyć wtedy widok. Korzystam z framework'a libgdx. Przyjmijmy na razie, że pola to "guziki". Mam więc coś takiego ( w uproszczeniu ) :
ArrayList<ArrayList<TextButton>> buttons;
Window window;
Stage stage;
public void create () {
buttons = new ArrayList<ArrayList<TextButton>>();
stage = new Stage(new ScreenViewport());
...
window = new Window("okienko", skin);
for(int i = 0 ; i< rows; ++i)
{
for( int k = 0; k < columns; ++k)
{
window.add(buttons.get(i).get(k));
}
window.row();
}
..
stage.add(window);
}
void render()
{
Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
}
Do tego momentu jest dobrze. Plansza "guzikowa" rysuje się spoko. Tylko teraz nie wiem co zrobić by tą planszę powiększyć. Probowałem po prostu dodać kolejne elementy do listy ( nowy wiersz ). Z tym, że nie wiem jak wtedy wymusić wyrenderowanie tego od nowa. Myślałem, że może dodać te pętle do funkcji render, z tym że ta wywoływana jest co chwilę więc skończy się to nieskończonym wywoływaniem tych pętli. Macie może jakiś pomysł jak to zrobić? Proszę o pomoc i pozdrawiam.