Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Libgdx 输入多路复用器点击按钮_Libgdx_Scene2d - Fatal编程技术网

Libgdx 输入多路复用器点击按钮

Libgdx 输入多路复用器点击按钮,libgdx,scene2d,Libgdx,Scene2d,在我的应用程序中,我创建了一个带有两个按钮的表格,这些按钮有时只会出现,我使用一个输入多路复用器来处理按钮和鼠标点击事件,我的问题是,当我点击表格区域时,即使表格隐藏,程序也会同时使用两个输入处理器, 我的问题是: 如何在我不使用时关闭plexer.addProcessor(阶段)并在按钮出现时激活? public void show() { ......................... some code ..............

在我的应用程序中,我创建了一个带有两个按钮的表格,这些按钮有时只会出现,我使用一个输入多路复用器来处理按钮和鼠标点击事件,我的问题是,当我点击表格区域时,即使表格隐藏,程序也会同时使用两个输入处理器, 我的问题是:

如何在我不使用时关闭plexer.addProcessor(阶段)并在按钮出现时激活?

    public void show() { 
.........................     some code      ..............                 
 tabela = new Table(skin);
    tabela.setBounds( 0, 50,Gdx.graphics.getBackBufferWidth() , 250);// ocupa o ecra inteiro, mudar isto no jogo
    tabela.add(ObjetoJogo.botaoOP1);
    tabela.add(ObjetoJogo.botaoOP2);

    stage.addActor(tabela);



    MyInputProcessor inputProcessor = new MyInputProcessor(this.app);

    InputMultiplexer plexer = new InputMultiplexer();
    plexer.addProcessor(inputProcessor);
    plexer.addProcessor(stage);
    Gdx.input.setInputProcessor(plexer);

}

根据您展示舞台的方式和时间,您可以:

  • 在每个参与者上设置禁用/启用标志
  • 当按钮不应处于活动状态时,设置Gdx.input.setInputProcessor(null)
  • 在两个输入处理器之间切换