在Window libgdx中设置位置

时间:2017-04-03 21:33:53

标签: libgdx scene2d

我试图将演员定位在一个窗口内,但是当试图设置一个固定位置时,这些设置似乎正好影响了ui。

我已经尝试在窗口内放置一个Table,它可以正常运行,但在尝试调用时

myactor.setPosition(10,10);
window.add(myactor);

演员不受该职位的影响。 有没有办法做到这一点,或者窗口中的窗口小部件是否必须像在表中一样添加?

2 个答案:

答案 0 :(得分:2)

窗口是可以拖动并充当模态窗口的表格。 Table是一个WidgetGroup,它使用逻辑表设置子项的位置和大小,类似于HTML表。

基于表格的布局不依赖于绝对定位,因此会自动调整到不同的小部件尺寸和屏幕分辨率。

看一下Table来设定你的演员的位置。

答案 1 :(得分:0)

可以在Scene2d窗口内设置Actor位置。我知道这是一个老话题,但我认为我会拒绝Aryan的回答。

您需要使用以下方法:

window.setLayoutEnabled(false)

然后,设置“演员”位置:

window.findActor("someActorName").setPosition(x,y);

这基本上会禁用默认的窗口布局,因此添加到窗口的任何角色都将设置为Windows自己的坐标系。

我测试了该方法,并且有效。

请参阅LibGDX窗口API: https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/Window.html