我的游戏中有三个屏幕:帮助,菜单和游戏本身。
在菜单状态下,有两个按钮可以正常工作,直到按下帮助按钮为止。按下帮助按钮并转到帮助屏幕后,应该显示菜单屏幕的后退按钮不起作用。
我发现注释handler.getMouseManager().setUIManger(uiManager);
可使按钮按预期工作。
如果我在菜单屏幕上,如何使此行仅有效?
菜单状态(屏幕脚本)
public MenuState(Handler handler) {
super(handler);
uiManager = new UIManager(handler);
handler.getMouseManager().setUIManger(uiManager);
uiManager.addObject(new UIImageButton(250, 200, 168, 64, assets.btn_start, new ClickListener() {
@Override
public void onClick() {
handler.getMouseManager().setUIManger(null);
State.setState(handler.getGame().gameState);
}
}));
uiManager.addObject(new UIImageButton(250, 270, 168, 64, assets.btn_help, new ClickListener() {
@Override
public void onClick() {
handler.getMouseManager().setUIManger(null);
State.setState(handler.getGame().helpState);
}
}));
}
@Override
public void tick() {
uiManager.tick();
System.out.println(State.getState());
}
@Override
public void render(Graphics g) {
g.setColor(Color.CYAN);
g.fillRect(0, 0, 700, 700);
uiManager.render(g);
}
}