首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LIBGDX: InputAdapter的keyDown,keyUp...etc的返回值的含义是什么

LIBGDX: InputAdapter的keyDown,keyUp...etc的返回值的含义是什么
EN

Stack Overflow用户
提问于 2014-04-01 07:18:53
回答 3查看 798关注 0票数 4

我在处理来自多个使用keyDown/keyUp的独立InputAdapters的输入时遇到了问题。

Gdx.input.setInputProcessor( new InputMultiplexer( keyboardController1, keyboardController2, keyboardController3));

只有第一个在线运行,而其他的不工作;在本例中,是keyboardController1。我猜这与keyDown()方法末尾的keyDown()有关。我试着阅读了文档、教程、post...etc,但是,我仍然无法很好地理解返回值的含义和作用,也无法理解应该将其设置为哪个布尔值。我的问题是:keyDown/keyUp(以此类推)的布尔返回值的含义是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-01 07:27:49

您返回的boolean值应该是:

  1. 如果此InputProcessorInputAdapter处理输入,则为true。
  2. 如果不处理输入,则为false。

想想一个游戏,其中两个玩家在同一台电脑上玩(例如,分裂屏幕)。

一个玩家用"WASD“控制,另一个用”箭头键“控制。因此,第一个播放器的InputProcessor只处理"WASD“键,而第二个只处理”箭头键“的InputProcessor

如果按下的键是"W,A,S或D",则第一个InputProcessor处理它,您不需要将它交给第二个。所以你返回true。如果按下的键是“箭头键”之一,则第一个InputProcessor将无法处理它,因此您将返回false。

复用器得到这个返回值,并说:

  1. 返回为true,输入已被处理,将其丢弃。
  2. 返回为false,输入未处理,将其交给下一个处理器。

希望你能明白我说的是什么

编辑:keyDown(int keyCode)keyUp(int keyCode)和其他方法都有int keyCode,它告诉您按下了int keyCode键。通常,您可以使用开关来知道按下了哪个键。这个开关看起来如下:

代码语言:javascript
运行
复制
switch(keyCode) {
case Keys.W:
     // Handle the event for "W" key pressed
case Keys.A:
     // Handle the event for "A" key pressed
// Other cases
default:
     return false;
}
return true;

对于你在评论中的另一个问题:如果一个玩家被W,A,S,D控制,他不需要处理其他键的输入。因此,如果不处理输入,则返回false,否则返回true。第二个玩家被箭头键控制,所以他不需要处理其他的键,如W,A,S或D键。如果有一个以上的InputProcessor (必须处理相同的键),则必须返回false,以便InputMultiplexer将事件传递给每个InputProcessor

票数 6
EN

Stack Overflow用户

发布于 2014-04-01 07:26:00

如果你在游戏中有一个以上的输入处理器,并且你希望在你的情况被其中一个处理器处理后,它不应该去其他处理器,而不是返回真;

否则,如果你想让它去其他处理器,也比你应该返回假。

假设你有两个输入处理器,并且都有一个按键。如果你有一个条件,只有一个应该执行返回真从两个键下降,其他返回假。

票数 2
EN

Stack Overflow用户

发布于 2014-04-01 07:26:30

您自己链接的文档如下所示

返回:是否处理了输入

返回true意味着事件是由该处理程序处理的,并且它不会被触发到随后的任何其他处理程序。

如果您希望其他处理器也能接收事件并让它们也处理它,那么您的第一个处理程序需要return false

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22779253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档