UI 没有对齐

UI not aligning

我正在使用 LibGDX 和 Scene2D 为我的游戏创建一个简单的菜单。
这是一个对我有用的简单示例:

table.add(gameLogo).row();
table.add(button1).row();
table.add(button2).row();
table.add(button3).row();

我没有包含不相关的代码(例如包括 table 到舞台)。

如果我没有将 .row() 添加到添加到 table 的每个对象中,则菜单不会与中心对齐,这很奇怪,例如:

table.add(gameLogo).row();
table.add(button1);
table.add(button2).row();
table.add(button3);

为什么菜单会这样?我应该使用更多 tables 还是添加一些 HorizontalGroups

如果您需要任何其他信息或我可以提供的图像,尽管它对 LibGDX 和 Scene2d 可能实现的最简单的菜单实现也是如此。

这是一个 colspan 问题。

查看您的代码,这就是您目前正在做的事情:

我假设您希望这样显示您的菜单:

为此,如您所见,您需要将游戏徽标的 colspan 大小设置为 2,这样它将占用 2 个常规单元格的大小。 因此,要实现此结果,您的代码应为:

table.add(gameLogo).colspan(2).center().row();
table.add(button1);
table.add(button2).row();
table.add(button3);

align(Align.center) 或 center() 方法不能单独使用,因为这些方法仅用于对齐其 own 单元格内的小部件。

如果您在使用 libgdx ui table 时遇到更多问题,请记住您可以启用 debug 渲染器来显示单元格边框:

table.setDebug(true);