java - Libgdx 表中的空白字段

标签 java libgdx

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

  1. 如何创建那些不可见的字段(所有字段都有固定的静态大小)?
  2. 如何获取该字段中的位置和变化元素(actor)?

希望有人能帮助我。

最佳答案

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

这里是一些示例代码:

// 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 文件。

关于java - Libgdx 表中的空白字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149740/

相关文章:

java - 识别内置功能接口(interface)

java - 检测图中的所有圆圈

java - FitViewport 无法正确缩放 Libgdx

android - 如何使用 Java 8 在 Android 和桌面(IntelliJ 2018 CE/Gradle)上使用 libGDX 进行开发

java - 浮点变量在没有明确归属的情况下被更改

java - intellij-如何从项目名称中删除 "bracket"?

java - Java中变量等于常量

java - 此转储中 netty 的内存使用情况正常吗?

game-engine - 适用于 Windows Phone 8 的 Libgdx

java - LIBGDX 多边形和直线在哪里碰撞?