我正在尝试创建自己的平铺地图创建器,因此我需要一些用户可以在纹理之间进行选择的面板。我想在我的相机视图中创建滚动条。它完美地移动,一切都在使用字符串列表,但是如果我想将字符串更改为buttonGroup,它只显示在我的滚动窗格“com.badlogic.gdx.scenes.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);
}
答案 0 :(得分:0)
每当您看到com.badlogic.gdx.scenes.scene2d.ui.ButtonGroup@5dcff25d
或package.class@hexstring
之类的内容时,就意味着有人试图通过调用Object#toString()
将对象转换为字符串。
在这种情况下,罪魁祸首是List
class - 它旨在获取一堆对象并将其显示为文本。 ButtonGroup
旨在按逻辑关联按钮,而不是将其放置在屏幕上,因此您需要创建ButtonGroup
和 a Table
。将按钮添加到两者,然后将表放入ScrollPane
。
我当然假设您需要ButtonGroup功能来管理按钮。如果按钮彼此独立,则可以完全跳过ButtonGroup,只需将按钮添加到表中即可。