Scene2d - 绝对定位

问题描述 投票:0回答:2

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

  0         0         0
Total      Wins     Losses

但是,如果我使用填充,即table.add(actor).padLeft(100);,那么将数字从0更改为160也会将数字向右移动,因为我正在使用填充。例:

  160         0         0
Total      Wins     Losses

我该如何避免这种行为?这一定是常见的情况。

libgdx scene2d
2个回答
0
投票

我建议创建一个扩展WidgetGroup的自定义类。在这个类中,您可以管理两个标签,一个用于数字,另一个用于数字的“标签”。然后,您可以轻松地设置标签彼此相对的位置,而不必记住它们在表格内的位置。也许这个特殊类的构造函数可以接受“label”的字符串和数字的初始值。

告诉我这个想法是否清楚,或者你是否需要更多信息。

卢卡


0
投票

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


    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();

试试吧。

© www.soinside.com 2019 - 2024. All rights reserved.