Панель прокрутки LibGDX buttonGroup

Я пытаюсь создать свой собственный 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);
}

1 ответ

  1. Всякий раз , когда вы видите что-то вроде com.badlogic.gdx.scenes.scene2d.ui.ButtonGroup@5dcff25dorpackage.class@hexstring, это означает, что кто-то пытается преобразовать объект в строку путем вызова Object#toString().

    В этом случае виновником является Listкласс — который предназначен для взятия кучи объектов и отображения их в виде текста. ButtonGroupпредназначен для связывания кнопок логически, а не позиционировать их на экране, так что вам нужно будет создать ButtonGroup и А Table. Добавьте кнопки к обоим, а затем поместите таблицу в ScrollPane.

    Я предполагаю, конечно, вам нужна функциональность ButtonGroup для управления кнопками. Если кнопки независимы друг от друга, то вы можете полностью пропустить ButtonGroup и просто добавить кнопки в таблицу.