2014-02-19 63 views
2

當我點擊我的屏幕時,我只需要執行一次代碼,但代碼在屏幕未釋放時執行很多次。這裏是我的代碼: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); 
      } 
     } 
    } 

回答

1

您可能在render()方法中有此代碼。這種方法被連續調用。只要保持屏幕被觸摸或鼠標按下,當然Gdx.input.isTouched()將返回true

如果您只想跟蹤「觸摸」的第一個事件,那麼您需要實施InputProcessor。示例代碼請參閱this link如何操作。

8

Libgdx有用於測試的內置方法,如果這是一個新聞的「第一次」觸摸事件: Gdx.input.justTouched()