1

我在 MenuScreen.java 文件中放置了以下表格按钮来制作“开始游戏”按钮:

// register the button "start game"
        TextButton startGameButton = new TextButton( "Start game", getSkin() );
        startGameButton.setTouchable(Touchable.enabled);
        startGameButton.addListener( new InputListener() {

            public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
                System.out.println("down");
                Gdx.app.log( HowDrunkAreYou.LOG, "touch d" );
                return true;
        }

            public void touchUp(
                InputEvent event,
                float x,
                float y,
                int pointer,
                int button )
            {
                Gdx.app.log( HowDrunkAreYou.LOG, "touch d" );
                super.touchUp( event, x, y, pointer, button );
                game.getSoundManager().play( HowDrunkAreYouSound.CLICK );
                //game.setScreen( new StartGameScreen( game ) );
            }
        } );
        table.add( startGameButton ).size( 300, 60 ).uniform().spaceBottom( 10 );

由于某种原因,输入处理程序永远不会触发,java 调试器永远不会进入方法。我错过了什么?我在桌面和安卓上测试过,结果一样。

logcat 或控制台都没有给我任何关于可能是什么错误的信息。

谢谢!

4

1 回答 1

2

您需要在代码中使用 Gdx.input.setInputProcessor(stage) 。这个链接会帮助你。steigert blogspot

现在我只能告诉你,你需要创建一个阶段,向其中添加表格,然后将阶段传递给 setinputprocessor()。有关更多详细信息,请参阅此链接,您将了解有关舞台和使用表格的更多信息

于 2013-07-24T09:31:42.017 回答