Button libgdx按钮不可单击

Button libgdx按钮不可单击,button,libgdx,scene2d,Button,Libgdx,Scene2d,我当前的libGDX项目有问题。 游戏以主菜单开始,在主菜单中可以单击两个按钮。开始游戏后,您可以通过Esc暂停游戏,并进入暂停屏幕,该屏幕与主菜单非常相似。 我不知道为什么,但是暂停屏幕上的按钮是不可点击的。 以下是出现问题的游戏屏幕的代码: 公共类游戏屏幕实现屏幕{ 私有纹理[]monsterTextures={Assets.manager.get((“resources/DemonHunter.jpg”)、纹理.class)、Assets.manager.get((“resources/W

我当前的libGDX项目有问题。 游戏以主菜单开始,在主菜单中可以单击两个按钮。开始游戏后,您可以通过Esc暂停游戏,并进入暂停屏幕,该屏幕与主菜单非常相似。 我不知道为什么,但是暂停屏幕上的按钮是不可点击的。 以下是出现问题的游戏屏幕的代码:

公共类游戏屏幕实现屏幕{
私有纹理[]monsterTextures={Assets.manager.get((“resources/DemonHunter.jpg”)、纹理.class)、Assets.manager.get((“resources/WingedDemon.jpg”)、纹理.class),
Assets.manager.get(((“resources/Viking.jpg”)、Texture.class)、Assets.manager.get((“resources/DemonWarrior.jpg”)、Texture.class)};
私有图像[]怪物图像={新图像(怪物纹理[0])、新图像(怪物纹理[1])、新图像(怪物纹理[2])、新图像(怪物纹理[3]);
私有阶段gameStage=newstage(),pauseStage=newstage();
私有表=新表();
私有皮肤menuSkin=Assets.menuSkin;
private TextButton Button Continue=新建TextButton(“继续”,菜单键),
buttonExit=新文本按钮(“退出”,菜单键);
私有标签标题=新标签(“游戏”,menuSkin);
私人怪物;
private int currentMonsterLife=1+(int)(Math.random()*((5-1)+1));
公共静态最终整型游戏\u创建=0;
公共静态最终整数游戏运行=1;
公共静态最终整型游戏\u暂停=2;
私有int gamestatus=0;
@凌驾
公开展览({
randomMonster=0+(int)(Math.random()*((3-0)+1));
addActor(怪物图片[随机怪物]);
}
公共无效newMonster(){
怪物图像[randomMonster]。删除();
Gdx.gl.glClearColor(0,0,0,1);
Gdx.gl.glClear(GL20.gl\u颜色\u缓冲\u位);
randomMonster=0+(int)(Math.random()*((3-0)+1));
currentMonsterLife=1+(int)(Math.random()*((5-1)+1));
addActor(怪物图片[随机怪物]);
}
@凌驾
公共无效渲染(浮动增量){
如果(Gdx.input.isKeyJustPressed(Keys.ESCAPE))pauseGame();
如果(游戏状态==游戏创建){
buttonContinue.addListener(新建ClickListener(){
已单击公共无效(InputEvent事件、浮点x、浮点y){
Gdx.gl.glClearColor(0,0,0,1);
Gdx.gl.glClear(GL20.gl\u颜色\u缓冲\u位);
gamestatus=正在运行的游戏;
}
});
addListener(新建ClickListener()){
已单击公共无效(InputEvent事件、浮点x、浮点y){
Gdx.app.exit();
}
});
表.add(title).padboottom(40.row();
table.add(buttonContinue).大小(150,60).焊盘底部(20).row();
表.添加(buttonExit).大小(150,60).焊盘底部(20).行();
表.setFillParent(true);
pauseStage.addActor(表);
Gdx.input.setInputProcessor(pauseStage);
Gdx.input.setInputProcessor(gameStage);
gamestatus=正在运行的游戏;
}
如果(游戏状态==游戏运行){
Gdx.gl.glClearColor(0,0,0,1);
Gdx.gl.glClear(GL20.gl\u颜色\u缓冲\u位);
gameStage.act();
gameStage.draw();
如果(Gdx.input.justTouched())currentMonsterLife-=1;
如果(currentMonsterLife==0)newMonster();
}
如果(游戏状态==游戏暂停){
glClearColor(0,0,0,1);
Gdx.gl.glClear(GL20.gl\u颜色\u缓冲\u位);
pauseStage.act();
pauseStage.draw();
}
}
公共空间pauseGame(){
gamestatus=游戏暂停;
}
@凌驾
公共空心调整大小(整型宽度、整型高度){
//TODO自动生成的方法存根
}
@凌驾
公共空间暂停(){
pauseGame();
}
@凌驾
公众简历(){
//TODO自动生成的方法存根
}
@凌驾
公共空间隐藏(){
//TODO自动生成的方法存根
}
@凌驾
公共空间处置(){
对于(int i=0;i<0.length;i++){
[i].dispose();
}
gameStage.dispose();
pauseStage.dispose();
menuSkin.dispose();
}
}
这是主菜单的代码,按钮在这里工作:

public类主菜单实现屏幕{
私有阶段=新阶段();
私有表=新表();
私有皮肤menuSkin=Assets.menuSkin;
private TextButton Button Play=新的TextButton(“播放”,menuSkin),
buttonExit=新文本按钮(“退出”,菜单键);
私有标签标题=新标签(“权力狩猎”,梅努斯金);
@凌驾
公共无效渲染(浮动增量){
glClearColor(0,0,0,1);
Gdx.gl.glClear(GL20.gl\u颜色\u缓冲\u位);
舞台表演;
stage.draw();
}
@凌驾
公开展览({
buttonPlay.addListener(新建ClickListener(){
已单击公共无效(InputEvent事件、浮点x、浮点y){
((游戏)Gdx.app.getApplicationListener()).setScreen(新游戏屏幕());
}
});
addListener(新建ClickListener()){
已单击公共无效(InputEvent事件、浮点x、浮点y){
Gdx.app.exit();
}
});
表.add(title).padboottom(40.row();
table.add(buttonPlay).size(150,60).padBottom(20.row());
表.添加(buttonExit).大小(150,60).焊盘底部(20).行();
表.setFillParent(true);
阶段。加法器(表);
Gdx.input.setInputProcessor(阶段);
}
@凌驾
公共空心调整大小(整型宽度、整型高度){
//TODO自动生成的方法存根
}
@凌驾
公共空间暂停(){
Gdx.input.setInputProcessor(stage);
Gdx.input.setInputProcessor(pauseStage);
Gdx.input.setInputProcessor(gameStage);
public void show(){
    Gdx.input.setInputProcessor(new InputMultiplexer(pauseStage, gameStage)); //list them in order of precedence
    //...your other code
}