Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用户界面不对齐_Java_Menu_Libgdx_Scene2d - Fatal编程技术网

Java 用户界面不对齐

Java 用户界面不对齐,java,menu,libgdx,scene2d,Java,Menu,Libgdx,Scene2d,我正在使用LibGDX和Scene2D为我的游戏创建一个简单的菜单。 下面是一个简单的例子,对我很有用: table.add(gameLogo).row(); table.add(button1).row(); table.add(button2).row(); table.add(button3).row(); 我没有包含不相关的代码(例如,将表包含到stage中)。 如果我没有将.row()包含到我添加到表中的每个对象中,则菜单没有与中心对齐,这非常奇怪,例如: table.add(gam

我正在使用LibGDX和Scene2D为我的游戏创建一个简单的菜单。
下面是一个简单的例子,对我很有用:

table.add(gameLogo).row();
table.add(button1).row();
table.add(button2).row();
table.add(button3).row();
我没有包含不相关的代码(例如,将表包含到stage中)。

如果我没有将
.row()
包含到我添加到表中的每个对象中,则菜单没有与中心对齐,这非常奇怪,例如:

table.add(gameLogo).row();
table.add(button1);
table.add(button2).row();
table.add(button3);
菜单为什么会这样?我应该使用更多的
表格
还是添加一些
水平组


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

这是一个colspan问题

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

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

要做到这一点,正如您所看到的,您需要将gamelogo的colspan大小设置为2,这样它的大小将与2个常规单元格的大小相同。 因此,要实现此结果,您的代码应该是:

table.add(gameLogo).colspan(2).center().row();
table.add(button1);
table.add(button2).row();
table.add(button3);
align(align.center)或center()方法不会单独工作,因为这些方法仅用于在小部件的自己的单元格中对齐小部件

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

table.setDebug(true); 

这是一个科尔斯潘问题

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

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

要做到这一点,正如您所看到的,您需要将gamelogo的colspan大小设置为2,这样它的大小将与2个常规单元格的大小相同。 因此,要实现此结果,您的代码应该是:

table.add(gameLogo).colspan(2).center().row();
table.add(button1);
table.add(button2).row();
table.add(button3);
align(align.center)或center()方法不会单独工作,因为这些方法仅用于在小部件的自己的单元格中对齐小部件

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

table.setDebug(true); 

图片会很有帮助。我不知道你说的“对准中心”是什么意思
row()
告诉表格,在添加该元素后,它应该开始一行新的单元格。@StrongJoshua我知道
row()
的意思,但感谢您的解释。“对齐到中心”是指在第二个示例中,
gameLogo
图像与第一个示例中不同,与左按钮对齐,而不是与中心对齐。我将尽快获取一些图像。尝试执行
table.add(gameLogo)。align(align.center)
图像将很有帮助。我不知道你说的“对准中心”是什么意思
row()
告诉表格,在添加该元素后,它应该开始一行新的单元格。@StrongJoshua我知道
row()
的意思,但感谢您的解释。“对齐到中心”是指在第二个示例中,
gameLogo
图像与第一个示例中不同,与左按钮对齐,而不是与中心对齐。我将尽快获取一些图像。尝试执行
table.add(gameLogo)。align(align.center)
谢谢!我刚刚发现这是一张桌子:0对不起,我猜这就是在我的游戏上玩了一个编程会话后发生的事情:)接受了你的答案!谢谢我刚刚发现这是一张桌子:0对不起,我猜这就是在我的游戏上玩了一个编程会话后发生的事情:)接受了你的答案!