Scene2d - 绝对定位

时间:2015-09-22 20:32:24

标签: libgdx scene2d

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

table

但是,如果我使用填充,即 0 0 0 Total Wins Losses ,那么将数字从0更改为160也会将数字向右移动,因为我正在使用填充。例如:

table.add(actor).padLeft(100);

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

2 个答案:

答案 0 :(得分:0)

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

告诉我这个想法是否明确或者您是否需要更多信息。

卢卡

答案 1 :(得分: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();

尝试一下。