Libgdx表中的空白字段

时间:2015-10-15 13:21:59

标签: java libgdx

我在Libgdx中遇到了另一个表问题。我想用它创建一个游戏板,并为用户提供添加/删除该板(表)中元素的可能性。首先,我想知道如何初始化该表,以便它已经有字段但是不可见的字段(以便它可以获得该字段的位置并放置新的元素)。所以这些是我的第一个问题:

  1. 如何创建那些不可见的字段(所有字段都有固定的静态大小)?
  2. 如何在该字段中获取位置和更改元素(actor)?
  3. 希望有人可以帮助我。

1 个答案:

答案 0 :(得分:4)

  1. 您可以通过向表格添加单元格并设置单元格的大小来创建它们。
  2. 然后,您可以向该单元格添加一个不可见的按钮,如果单击该按钮,您可以将其删除并添加一个新元素。
  3. 这里有一些示例代码:

    // uiskin from libgdx tests
    skin = new Skin(Gdx.files.internal("uiskin.json"));
    table = new Table();
    
    // invisible button style
    final ButtonStyle bStyle = new ButtonStyle();
    
    int colNum = 10, rowNum = 10;
    for (int row = 0; row < rowNum; row++)
    {
        for (int col = 0; col < colNum; col++)
        {
            final Button l = new Button(bStyle);
            l.addListener(new ClickListener()
            {
                @Override
                public void clicked(InputEvent event, float x, float y)
                {
                    Cell<Button> cell = table.getCell(l);
    
                    cell.clearActor();
                    cell.setActor(new Label("test", skin));
                }
            });
            table.add(l).size(100, 100);
        }
    
        table.row();
    }
    
    stage = new Stage();
    
    table.setFillParent(true);
    stage.addActor(table);
    
    Gdx.input.setInputProcessor(stage);
    

    皮肤文件可以在这里下载:https://github.com/libgdx/libgdx/tree/master/tests/gdx-tests-android/assets/data

    你需要uiskin.json,uiskin.atlas和uiskin.png文件。