Libgdx 场景2D-绝对定位

Libgdx 场景2D-绝对定位,libgdx,scene2d,Libgdx,Scene2d,我想在一张表的同一行上加上3个相邻的数字,我还希望每个数字之间有大约100个单位的填充。这些数字下面是与之对应的单词,例如: 0 0 0 Total Wins Losses 但是,如果我使用padding,即table.addactor.padLeft100;,然后将数字从0更改为160也会将数字向右移动,因为我使用了填充。例如: 160 0 0 Total Wins Losses 我

我想在一张表的同一行上加上3个相邻的数字,我还希望每个数字之间有大约100个单位的填充。这些数字下面是与之对应的单词,例如:

  0         0         0
Total      Wins     Losses
但是,如果我使用padding,即table.addactor.padLeft100;,然后将数字从0更改为160也会将数字向右移动,因为我使用了填充。例如:

  160         0         0
Total      Wins     Losses

我怎样才能避免这种行为?这一定是一种常见的情况

我建议创建一个扩展WidgetGroup的自定义类。 在这个类中,您管理两个标签,一个用于数字,另一个用于数字的标签。 然后,您可以轻松设置标签的相对位置,而无需记住标签在选项卡中的位置。 也许这个特殊类的构造函数可以接受标签的字符串和数字的初始值

告诉我你的想法是否清晰,或者你是否需要更多信息


Luca

我要做的是,默认情况下,将表中的所有单元格设置为居中,并在左右两侧添加一点填充,如下所示:


    Table table1 = new Table();
    // Set defaults for all cells in table. Alignment and padding in this case.
    table1.defaults().align(Align.center).pad(0, 20, 0, 20);

    Label number1 = new Label("160", skin);
    Label number2 = new Label("0", skin);
    Label number3 = new Label("0", skin);
    table1.add(number1);
    table1.add(number2);
    table1.add(number3);
    table1.row();

    Label label1 = new Label("Total", skin);
    Label label2 = new Label("Wins", skin);
    Label label3 = new Label("Losses", skin);
    table1.add(label1);
    table1.add(label2);
    table1.add(label3);
    table1.row();

试试看。

我想我明白了大概的意思,但是一些示例代码会很好