- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 LIBGDX 构建一个简单的游戏,我遇到了这个恼人的问题。
我有一个 MenuScreen.java 类,它看起来像这样:
Here是 pastebin 上的完整类(class)
重要的部分是imageButton的inputListener:
button.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button){
MineFinder.Log.debug("xpos: " + x + ", ypos: " + y);
game.setScreen(new GameScreen(game));
}
});
我的问题是,如果出于某种原因存在此类(并且由此调用 GameScreen),如果我单击 ImageButton 在 GameScreen 中的位置,它仍会处理输入。这真的很烦人,因为如果玩家点击屏幕的那部分,游戏就会重置。
如果我删除对我的 MenuScreen.java 文件的引用,并完全跳过它,问题就不存在了,所以我很确定问题是 InputListener 没有被“删除”
有什么解决办法吗?
谢谢!
最佳答案
问题是在你的resize
方法。这一行:
Gdx.input.setInputProcessor(stage);
将全局输入处理器设置为舞台。输入处理代码并不真正关心屏幕上呈现的内容。
我认为最简单的解决方法是在 show
中设置输入处理器并在 hide
中清除它.像这样:
@Override
public void show() {
Gdx.input.setInputProcessor(stage);
}
@Override
public void hide() {
Gdx.input.setInputProcessor(null);
}
或者,您可以让您的回调检查它们所在的按钮/阶段/屏幕是否处于 Activity 状态,或者取消注册/重新注册 show
中的回调/hide
,具体取决于您使用屏幕的方式。
关于java - InputListener 停留在类之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880499/
这是我的代码 />100 1000 它不按要求工作.. 当提交表单时(并且在任何错误情况下)它返回到默认选中的单选按钮,即值 = 1000 用户必须再次单击值 = 100,而目标是,如果用户选择了 1
假设我有一个透明的红色 HTML 元素。当我悬停该元素时,它应该变成纯红色。当我停止悬停该元素时,它应该动画回到第一个状态,但仅在 X 秒后。 到目前为止一切顺利,请参阅代码片段。 我的问题是当我停止
我遇到了 cookie 情况,我的 cookie 会存储一个颜色名称或根本不存储任何内容。所以让我们这样解释吧。我的 cookie 与我网站的外观有关,我的网站有 3 种外观: 正常(完全没有 coo
这是我的问题。我有一张包含三个 div 的 Bootstrap v4 卡。 A 是最重要的一个,我希望它保持在左上角。 当页面较宽时,我希望 B 和 C 在 A 的右侧。 当页面变窄时,卡片缩小,C
示例表: uid time_stp traf 1 2016-01-13 00:00:00 6 1 2016-01-13 05:00:00 8 1
我是一名优秀的程序员,十分优秀!