java - Libgdx - 如何为每个部分的不同输入处理器拆分屏幕

标签 java input libgdx touchpad trackpad

我使用舞台中包含的“CameraInputController”和“Touchpad”分别移动我的相机和移动我的角色。

但是,我遇到了一个问题。我像这样使用 InputMultiplexer 来设置两个处理器。

    InputMultiplexer multiplexer = new InputMultiplexer();
    multiplexer.addProcessor(camController);
    multiplexer.addProcessor(stage);

    Gdx.input.setInputProcessor(multiplexer);

现在的问题是当我移动触摸板时,相机也会移动。这对玩家来说很烦人。

因此我想要一种方法在屏幕的不同部分有不同的输入处理器。

最佳答案

我认为可以通过更改 InputAdapter 的顺序来解决。

multiplexer.addProcessor(stage);
multiplexer.addProcessor(camController);

因为 Stage 现在将是第一个处理输入事件的,如果您返回 true,camController 将不会在之后处理。参见 InputMultiplexer Wiki了解更多信息。

关于java - Libgdx - 如何为每个部分的不同输入处理器拆分屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736961/

相关文章:

java - JBoss 7.0.1 xa 数据源异常。 javax.transaction.xa.XAException

c++ - 用 cin 缓冲区做东西直到空

css - 在输入上覆盖丑陋的双色调边框样式

java - Sprite 调整大小 libGDX

java - DataOutputStream 卡住

java - 意外地重新定义迭代器中的变量以读取所有列表元素

java - 为什么这个 lambda 表达式使用 & 符号转换?

input - 在awk中查找并替换为两个文件

java - LibGdx 坠落物体

Java LibGDX 如何解析 JSON?