Макет кнопки libGDX без интервала - PullRequest
0 голосов
/ 19 июня 2020

Я использую таблицу для размещения кнопок меню, но расстояние между кнопками достаточно велико, чтобы проехать через нее. Что я могу сделать, чтобы получить больший контроль над кажущимся заполнением ячеек? Я искал сообщения StackOverflow, читал API, набирал '.' после таблицы и актера, чтобы просмотреть автозаполнения, вручную скорректировать значения в файле скина и посмотреть проекты других людей на Github. Некоторые из методов, которые я пробовал, включают sizeBy (), scaleBy (), pad (), setFillParent (), space (), fillY () и grow ()

Полезный ответ описывает, как заставьте кнопки складывать друг на друга, касаясь.

Gdx.input.setInputProcessor(stage); 
// Create a table that fills the screen. Everything else will go inside this table.
Table table = new Table();
table.setFillParent(true);
table.setDebug(true);
stage.addActor(table);

table.setBackground(new TiledDrawable(background));

//create buttons
TextButton newGame = new TextButton("New Game", skin);
TextButton preferences = new TextButton("Preferences", skin);
TextButton exit = new TextButton("Exit", skin);


TextButtonStyle tbs = new TextButtonStyle(newGame.getStyle());
NinePatch np = new NinePatch(skin.getPatch("button"));
np.setColor(np.getColor().sub(0f, 0f, 0f, .4f)); 
tbs.up = new NinePatchDrawable(np);
newGame.setStyle(tbs);        
preferences.setStyle(tbs);
exit.setStyle(tbs);


table.bottom().right().padBottom(40f).padRight(40f);

//add buttons to table
table.add(newGame).bottom().right().fillX().uniformX();
table.row();//.pad(1, 0, 1, 0);
table.add(preferences).bottom().right().fillX().uniformX();
table.row();
table.add(exit).bottom().right().fillX().uniformX();

1 Ответ

0 голосов
/ 19 июня 2020

Это была моя кожа. Я использовал образец "Пользовательский интерфейс Rusty Robot", но он не обрезает изображения кнопок плотно. Попробовал еще один и увидел стопку, которую искал.

...