Я пытаюсь создать свой собственный tile map creator, поэтому мне нужна какая-то панель, где пользователь может выбирать между текстурами. Я хотел создать scrollpane внутри моего вида камеры. Он прекрасно двигается, и все работает со списком строк, но если я хочу изменить строки на buttonGroup, он отображается только в моем scrollpane «com.badlogic.gdx.сцены.scene2d.ui.ButtonGroup@5dcff25d » больше ничего, только одна строка с этим. Вот мой код:
private void initPanel(){
skin=new Skin(Gdx.files.internal("uiskin.json"));
background = new Group();
background.setBounds(0, CAM_HEIGHT-PANEL_SIZE, PANEL_SIZE, PANEL_SIZE);
stage=new Stage(new ScreenViewport());
list=new List<ButtonGroup>(skin);
buttons=new TextButton[TEXTURE_NUMBER];
buttons[0]=new TextButton("Delete",skin);
buttons[1]=new TextButton("Red",skin);
buttons[2]=new TextButton("Blue",skin);
buttons[3]=new TextButton("Green",skin);
buttonGroup=new ButtonGroup<TextButton>(buttons);
buttonGroup.setMaxCheckCount(1);
buttonGroup.setMinCheckCount(0);
list.setItems(buttonGroup);
scrollPane=new ScrollPane(list);
scrollPane.setBounds(0, 0, PANEL_SIZE, PANEL_SIZE);
scrollPane.setPosition(0,CAM_HEIGHT-PANEL_SIZE);
scrollPane.setTransform(true);
stage.addActor(background);
stage.addActor(scrollPane);
background.addActor(new Image(new Texture("textures/panel_background.png")));
Gdx.input.setInputProcessor(stage);
}
Всякий раз , когда вы видите что-то вроде
com.badlogic.gdx.scenes.scene2d.ui.ButtonGroup@5dcff25d
orpackage.class@hexstring
, это означает, что кто-то пытается преобразовать объект в строку путем вызоваObject#toString()
.В этом случае виновником является
List
класс — который предназначен для взятия кучи объектов и отображения их в виде текста.ButtonGroup
предназначен для связывания кнопок логически, а не позиционировать их на экране, так что вам нужно будет создатьButtonGroup
и АTable
. Добавьте кнопки к обоим, а затем поместите таблицу вScrollPane
.Я предполагаю, конечно, вам нужна функциональность ButtonGroup для управления кнопками. Если кнопки независимы друг от друга, то вы можете полностью пропустить ButtonGroup и просто добавить кнопки в таблицу.