libGDX MENU按钮

时间:2016-02-14 14:19:53

标签: android libgdx

我有一个游戏,其中有一些功能按钮,定义为ImageButtons。我有一些其他形状,Sprites。在每种类型的元素上都有自己类型的侦听器。我通过Stage按钮设置了有效功能按钮“MENU”。 这是不实际的,因为较新的设备没有MENU按钮。

@Override
public boolean keyDown(int keycode) {
    if ((keycode == Keys.M) || (keycode == Keys.MENU)) {
       // some code
}

您如何看待,我该如何取代这种“方法”?

2 个答案:

答案 0 :(得分:1)

问题中没有足够的信息。 但无论如何,有一个标准的按钮创建:

oTable.fnClearTable();                       
oTable.fnAddData(data.aaData); 
oTable.fnDraw();

在此之后你可以将按钮链接到新的阶段,设置inputproccessor,这也适用于新设备:

//set the buttonStyle/load texture/etc.
ImageButton playButton = new ImageButton(buttonStyle);

//create a stage
Stage stage = new Stage();
stage.addActor(playButton);
//
//now, set the input processor to this stage
Gdx.input.setInputProcessor(stage);
//and add the clicklistener to the button
playButton.addListener(new ClickListener(){/*override the down/up funcs*/});

希望这会有所帮助。

答案 1 :(得分:0)

我使用InputMultiplexer解决了这个问题。它非常容易使用并且可以解决问题。你应该这样实现:

public InputMultiplexer(InputProcessor... processors)