所以我有3个矩形,就像使用contains方法的按钮一样。前两个按钮只是向左和向右移动角色,但第三个按钮是用户touchDown时跳转然后在touchUp时抛出一个球。 我的问题是,当按下按钮同时触摸时,这些混合起来,就像我按住跳跃按钮同时按住并释放左/右按钮它会抛出球。
我知道有指针ID的东西,但它让我感到困惑。
答案 0 :(得分:0)
将新的InputProcessor设置为Gdx.input.setInputProcessor(),并检查矩形中是否包含触摸点,这样的事情应该有效:
Gdx.input.setInputProcessor(new InputAdapter() {
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if(leftRect.contains(screenX, screenY)){
//move player left
return true;
}
if(rightRect.contains(screenX, screenY)){
//move player right
return true;
}
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
if(jumpRect.contains(screenX, screenY)){
//make player jump
return true;
}
return false;
}
});
我强烈建议你将Scene2D用于ui相关的东西,它可能有点难以开始,但它会使你的ui编码更容易实现和保持。