libgdx只能单次触摸一次

3
当我点击屏幕时,我只需要执行一次代码,但在屏幕没有释放的情况下,代码会执行很多次。以下是我的代码:
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);
            }
        }
    }
2个回答

10

Libgdx内置了一种测试按键的方法,用于检测是否是“第一次”触摸事件:

Gdx.input.justTouched()

4
您可能在您的render()方法中有这段代码。该方法会被持续调用。当您触摸屏幕或按下鼠标按钮时,Gdx.input.isTouched()会返回true
如果您只想跟踪“touch down”事件的第一个事件,则需要实现一个InputProcessor。请参见此链接,获取示例代码以了解如何实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接