2016-12-30 92 views
0

我想創建我自己的瓷磚地圖創建者,所以我需要一些面板,用戶可以在紋理之間進行選擇。我想在我的相機視圖內創建滾動窗格。它完美地移動,一切都與字符串列表一起工作,但如果我想將字符串更改爲buttonGroup,它只會顯示在我的滾動窗格「[email protected]」中,沒有其他的只有一行。這裏是我的代碼:buttonGroup的LibGDX滾動窗格

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:/你有任何想法如何在ScrollPane中存儲buttonGroup? – user3396072

+0

對不起,我沒有仔細查看ButtonGroup。它不擴展Actor,所以你不能把它放到ScrollPane中。看到我更新的答案。 – John