我试图将演员定位在一个窗口内,但是当试图设置一个固定位置时,这些设置似乎正好影响了ui。
我已经尝试在窗口内放置一个Table,它可以正常运行,但在尝试调用时
myactor.setPosition(10,10);
window.add(myactor);
演员不受该职位的影响。 有没有办法做到这一点,或者窗口中的窗口小部件是否必须像在表中一样添加?
答案 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