java LibGdx:在不同类中使用setInputProcessor(stage)
我正在使用LibGdx开发安卓游戏;目前,有两个带有几个按钮的菜单屏幕,一个主菜单和一个游戏结束菜单。 我需要使用Gdx。输入设置输入处理器(阶段);在这两个班,但我不能。。。只有一个屏幕在工作
我在论坛上搜索了很多,只找到了Gdx。输入设置输入处理器(输入多路复用器)
InputProcessor inputProcessorOne = new CustomInputProcessorOne();
InputProcessor inputProcessorTwo = new CustomInputProcessorTwo();
InputMultiplexer inputMultiplexer = new InputMultiplexer();
inputMultiplexer.addProcessor(inputProcessorOne);
inputMultiplexer.addProcessor(inputProcessorTwo);
Gdx.input.setInputProcessor(inputMultiplexer);
我遇到了麻烦,因为它的使用是为了在同一个类中有几个处理器
但我只需要两个独立类中的一个处理器
目前,我有这个。。。但它不起作用:
第一类
Gdx.input.setInputProcessor(stageMainMenu);
第二类
Gdx.input.setInputProcessor(stageGameOverMenu);
编辑: @MennoGouw 我引用的问题是,我想把Stage对象放在addProcessor中,而不是InputProcessor中。 我不想创建自己的处理器,我会使用ClickListener。 此外,我真的不需要同时使用两个处理器。事实上,这是两个不同的屏幕。然而,对于InputProcessor并没有明确的方法
此外,我不知道应该在哪里构建InputMultiplexer
我会尽量说清楚,我有:
我的游戏。只有一种方法的java(
public void create() {
mainMenuScreen = new MainMenu(this);
//gameScreen = new MainGame(this);
gameOverScreen = new GameOver(this);
setScreen(mainMenuScreen);
)
}
加梅结束了。爪哇及;主菜单。JAVA(两个屏幕)
如果我将Gdx.input.setInputProcessor(stageName)
放在构造函数中,则只运行两个构造函数中的一个。
否则,在show()方法中,它会崩溃
谢谢你的时间
# 1 楼答案
有什么问题吗?它是专为你所寻找的
您还可以使用这段代码分别在每个阶段添加处理器:
初始化游戏类函数中的第一个设置多路复用器:
然后检查是否必须添加输入处理器: