我试图创建我自己的瓷砖地图创建者,所以我需要一些面板,用户可以选择纹理。我想在我的相机视图中创建滚动窗格。它移动得很完美,所有东西都在处理String列表,但是如果我想将String更改为buttonGroup,它只显示在我的滚动窗格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);
}发布于 2016-12-30 18:29:33
每当您看到像com.badlogic.gdx.scenes.scene2d.ui.ButtonGroup@5dcff25d或package.class@hexstring这样的东西时,就意味着有人试图通过调用Object#toString()将对象转换为字符串。
在这种情况下,罪魁祸首是 class- -它的目的是获取一堆对象并将它们显示为文本。ButtonGroup的目的是在逻辑上关联按钮,而不是将它们放在屏幕上,因此您需要创建ButtonGroup和Table。将按钮添加到两者中,然后将表放入ScrollPane中。
当然,我假设您需要ButtonGroup功能来管理按钮。如果按钮彼此独立,则可以跳过ButtonGroup,只需将按钮添加到表中即可。
https://stackoverflow.com/questions/41400551
复制相似问题