2016-12-30 3 views
0

Я пытаюсь создать собственный создатель карты плитки, поэтому мне нужна панель, где пользователь может выбирать между текстурами. Я хотел создать прокрутку в моем представлении камеры. Он отлично перемещается, и все работает со списком строк, но если я хочу изменить строку в buttonGroup, она будет отображаться только в моей scrollpane «[email protected]», только одна строка с этим , Вот мой код:Панель прокрутки LibGDX buttonGroup

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); 
} 

ответ

0

Всякий раз, когда вы видите что-то вроде [email protected] или [email protected], это означает, что кто-то пытается преобразовать объект в строку с помощью вызова Object#toString().

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

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

+0

Конструктор ScrollPane не хочет получать buttonGroup:/но мне нужна группа кнопок, потому что checkCount:/у вас есть идея, как сохранить buttonGroup в ScrollPane? – user3396072

+0

Извините, я не слишком внимательно смотрел на ButtonGroup. Он не распространяется на Actor, поэтому вы не можете поместить его в ScrollPane. См. Мой обновленный ответ. – John