我想在用户触摸我的actor时检测到touchUp事件(称为“飞行”),我尝试了touchDown并检测到它,但是松开手指后touchUp无法获得呼叫。
fly.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return super.touchDown(event, x, y, pointer, button);
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
System.out.println("touched");
}
});
我已经将输入处理器设置为暂存。 你知道怎么了吗?
答案 0 :(得分:0)
根据文档,仅当touchDown返回true时,touchUp才会被触发。
touchUp(InputEvent事件,float x,float y,int指针,int按钮)
当鼠标按钮或手指触碰到任何地方但在 仅在touchDown先前为鼠标按钮返回true或 触摸。
尝试
fly.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) {
super.touchUp(event, x, y, pointer, button);
System.out.println("touched");
}
});