java场景2D在表的顶部添加参与者
我有一个可滚动的表格,包含我的菜单、按钮、标题等的所有主要功能。现在我想要一个不滚动的“hud”,就像在facebook messenger中一样。有“朋友”和“设置”等标签。问题是,当我尝试在桌子关闭后向舞台添加其他内容时,我尝试添加另一个舞台,但输入不起作用,我尝试添加另一个桌子,但定位关闭(但输入有效)
当前代码:
//table.top();
table.add(heading).colspan(2);
table.getCell(heading).spaceBottom(100);
table.row();
table.add(buttonPlay).colspan(2);
table.getCell(buttonPlay).spaceBottom(100);
table.row();
table.add(buttonExit).colspan(2);
table.getCell(buttonExit).spaceBottom(1000); //large spacing to test so scrolling works fine
table.row();
table.add(buttonFriends);
table.add(buttonSettings);
hudTable.add(buttonHud);
hudTable.debug();
stage.addActor(container);
stage.addActor(hudTable);
给出的结果如下所示:
所有这些都可以工作,主工作台滚动,HUD保持静止,而我滚动,输入工作,但定位是关闭的,我不知道如何解决这个问题,使HUD在顶部。有什么想法吗?我走错方向了吗
# 1 楼答案
正如我在评论中提到的,您可以使用
InputMultiplexer
类来处理多个阶段在
InputMultiplexer
内部有一个名为addProcessor()
的方法,它接受实现InputProcessor
的任何对象,并允许处理您的输入stage类已经实现了
InputProcessor
参见Javadocshttp://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/Stage.html假设你有两个阶段
现在你要做的就是
编辑
仅供参考这是我如何使用1阶段
此表的两个私有成员也是表。 在我的游戏中,我在舞台上加了
BattleScreen
编辑 下面的图片也展示了同样的情况