libgdx Ontouch 只有一次



当我单击屏幕时,我只需要执行一次代码,但是代码在屏幕未发布的情况下执行了很多次。这是我的代码:

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);
            }
        }
    }

Libgdx 有一个内置的方法,用于测试这是否是新闻的"第一次"触摸事件:Gdx.input.justTouched()

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

如果您只想跟踪"触摸"的第一个事件,则需要实现一个 InputProcessor .有关如何执行此操作的示例代码,请参阅此链接。

最新更新