我正在尝试使用libgdx库,制作一个菜单,将我移动到不同的屏幕。我使用LwjglApplication创建一个小应用程序。当窗口的大小最小化时,Click事件可以正常工作,但在最大化时,事件将停止工作。
示例:
这里...... ClickListener停止工作......
菜单代码:
{{1}}
答案 0 :(得分:2)
您需要更新舞台视口。
@Override
public void resize(int width, int height) {
stage.getViewport().update(width,height);
}
当您使用Actor
setFontScale(scale);
时,触摸点位于Label
范围内时触摸/点击检测到,它仅更改了字体大小而不是Actor
边界,因此您应该设置Label
的大小。您可以使用container作为该Label的父级,并根据您的要求缩放容器,而不是缩放字体。
您可以使用stage.setDebugAll(true);
进行调试,并查看所有Actor
边界。
默认情况下,阶段使用StretchViewport的构造函数,屏幕宽度和高度为视口worldwidth和worldheight。 StretchViewport
缩放源以填充目标,这可能导致源不保持相同的宽高比,因此对于具有预定义的worldwidth和viewport的世界高度的其他视口,它会更好。我建议使用ExtendViewport因为它在大多数情况下满足了我们的要求。