我在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调试器永远不会进入该方法。我错过了什么?我已经在桌面和Android上测试了它,结果相同。
logcat或控制台都没有给我任何关于可能是错误的信息。
谢谢!
答案 0 :(得分:2)
您需要在代码中使用Gdx.input.setInputProcessor(stage)。此链接将帮助您。 steigert blogspot
现在我可以告诉你的是,你需要创建一个阶段,向其添加表,并将阶段传递给setinputprocessor()。有关更多详细信息,请参阅此链接,您将了解有关舞台和使用表格的更多信息