我有一个图像,我想要注册触摸,这样只有当用户触摸后将手指从屏幕上抬起时才会激活它(如果它在同一区域内提供了stil)...不会立即点击它。我试图像文档说的那样使用TouchUp,但无济于事
large_jackpot.addListener(new InputListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("Example", "touch started at (" + x + ", " + y + ")");
return true;
}
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("Example", "touch done at (" + x + ", " + y + ")");
app.setScreen(app.loadingScreen);
}
});
答案 0 :(得分:0)
你的听众没事。我猜你的问题出在事件系统中。 Image类之上的某些内容可能正在捕获 touchUp 事件,或者您未设置 InputProcessor 。此代码在libGDX生成的项目上按预期工作:
stage = new Stage();
Gdx.input.setInputProcessor(stage);
image = new Image(img);
image.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("Image","touchDown");
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("Image","touchUp");
}
});
stage.addActor(image);
如果对您没有帮助,请提供更多代码。