LibGdx:利用手势和鼠标输入

时间:2013-08-02 19:07:25

标签: java input libgdx gesture

在我的libgdx项目中,我有一个手势监听器和一个在不同类中使用的输入处理器。一个在主要状态内的玩家内部。如果我将其中一个指定为输入处理器:Gdx.input.setInputProcessor();那么我将无法从另一个获取输入。

我尝试使用输入多路复用器:

InputMultiplexer multi = new InputMultiplexer();

GestureHandler gesture = new GestureHandler();
InputProccessor input =  new InputProcessor();

multi.addProcessor(new GesturDetector(gesture));
multi.addProcessor(new GestureDetector(input);

Gdx.input.setInputProcessor(multi);

这不起作用并导致游戏崩溃。我宁愿避免使用多路复用器。无论如何都要检查两种输入方法吗?

1 个答案:

答案 0 :(得分:1)

Multiplex是您问题的正确答案。

多路复用器经常忽略的一点是处理程序的返回值(true或false)非常重要。 (没有多路复用器就会被忽略)。结果表明你是否“处理”了输入。处理的事件不会传播到多路复用器中的下一个处理器。此外,默认情况下,Eclipse创建的存根方法将返回“true”,这无济于事。

无论如何,这不应该崩溃。