当我点击我的屏幕时,我只需执行一次代码,但代码在屏幕未释放时执行了很多次。这是我的代码:
if(Gdx.input.isTouched(0)){
gx = Gdx.input.getX();
gy = Gdx.input.getY();
for(int i=1; i<=7; i++){
d = (int) Math.sqrt(((gx-pomx[i])*(gx-pomx[i])) + ((gy-pomy[i])*(gy-pomy[i])));
if(d<r){
sestoagolnik_objekt.setRotation(stepen += 60);
}
}
}
答案 0 :(得分:8)
Libgdx有一个内置的方法来测试这是否是印刷机的“第一次”触摸事件: Gdx.input.justTouched()
答案 1 :(得分:1)
您可能在render()
方法中使用此代码。连续调用此方法。当然,只要您触摸屏幕或按下鼠标按钮,Gdx.input.isTouched()
将返回true
。
如果您只想跟踪“触地”的第一个事件,那么您需要实施InputProcessor
。有关如何执行此操作的详细信息,请参阅this link。