libgdx,滚动窗格中的表

时间:2014-05-29 22:29:37

标签: java libgdx

我正在尝试为我的游戏开店。 在这个商店里,应该有2个滚动面板:一个用你的iventory的东西,另一个用经销商卖的。

(它想这样做)  http://i.stack.imgur.com/5gLUr.jpg

首先,我试图在我的ScrollPane中添加一个列表,但是我不能把我的武器和文本的图像放在那些中。 所以我试着在我的ScrollPane中添加一个表:只要我的库存中有东西,我就会添加带有项目纹理的单元格,另一个带有武器名称的单元格,...) 但是我找不到选择表格的方式......

所以我有点困惑:如果我使用List,我不能放纹理并使它看起来很花哨,但是使用Tables,我无法选择项目......

你们有没有想过我应该怎么做?

谢谢!

编辑:这是一些代码,但没有一切,因为它非常难看!

Table test3 = new Table(skin2);
    for(WeaponElement weapon : GameScreen.dataLoader.getWeaponArray()){

            Image img = new Image(new Texture(weapon.getIconPath()));
            test3.add(img).width(32);
            test3.add().width(10);
            test3.add(weapon.getName()).align(Align.left).row();

    }

    panelShop = new ScrollPane(test3, skin2);
    panelShop.layout();

所以基本上,我将所有武器添加到我的test3表行中添加到我的ScrollPane中,但我想让它们可选,我可以通过使用列表来做但是如果我这样做,我就无法使用再把桌子看起来很棒......

2 个答案:

答案 0 :(得分:0)

如何使用Buttons推?下面的示例显示了一个按行一个按钮的表。使用带有要显示的文本的按钮,并在旁边添加图片。

Table scrollableTable = new Table(skin);
scrollableTable.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

for(WeaponElement weapon : GameScreen.dataLoader.getWeaponArray()){
    final TextButton button = new TextButton(wapon.name, skin, "default");
    button.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // do stuff
        });
    scrollableTable.add(button).center();

    // add a picture
    Image img = new Image(new Texture(weapon.getIconPath()));
    scrollableTable.add(img).width(32);

    // finish a row
    scrollableTable.row();
}

答案 1 :(得分:0)

尝试使用Tree ui组件并将其用作表格。它是可选择的并接受Actor作为节点(使用Table作为行布局)。 请参阅com.badlogic.gdx.tests.TestTree(link)示例。