libgdx只能使用一次

时间:2014-02-19 21:23:22

标签: touch libgdx

当我点击我的屏幕时,我只需执行一次代码,但代码在屏幕未释放时执行了很多次。这是我的代码:

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 个答案:

答案 0 :(得分:8)

Libgdx有一个内置的方法来测试这是否是印刷机的“第一次”触摸事件: Gdx.input.justTouched()

答案 1 :(得分:1)

您可能在render()方法中使用此代码。连续调用此方法。当然,只要您触摸屏幕或按下鼠标按钮,Gdx.input.isTouched()将返回true

如果您只想跟踪“触地”的第一个事件,那么您需要实施InputProcessor。有关如何执行此操作的详细信息,请参阅this link