我有一个LibGDX程序,当该程序在Android中运行时,我在其中添加了触摸板。触摸板可以正常工作。
我已经进行了设置,以便如果我触摸屏幕上不是触摸板或任何UI按钮的区域,它将把触摸板移动到该位置。那块也正常工作。
但是,要在将触摸板移动到新位置后使用它,我必须抬起手指,然后再放回去。将手指放在新位置后,我将无法开始拖动以使用触摸板。
以完全标准的方式创建触摸板:
touchpad = new Touchpad(5, touchpadStyle);
在这里完成触摸板的移动:
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
Vector3 vec = new Vector3(screenX, screenY, 0);
uiStage.getCamera().unproject(vec);
touchpad.setPosition(vec.x-touchpad.getWidth()/2, vec.y - touchpad.getHeight()/2);
return false;
}
我正在考虑可能扩展Touchpad类,但不确定是否可以这样做,和/或是否有更简单的方法来实现,而我还没有发现。
谢谢!