2015-06-29 71 views
0

我一直在使用不同的手勢檢測器方法檢測不同類型的輸入。然而,我想通過更改下面的方法的參數改變一些GD的偏好:在libGDX中構建手勢檢測器

public GestureDetector(float halfTapSquareSize, 
        float tapCountInterval, 
        float longPressDuration, 
        float maxFlingDelay, 
        GestureDetector.GestureListener listener) 

我^代碼http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/input/GestureDetector.html

我改變halfTapSquareSize的」價值特別感興趣「

我該如何執行到我的代碼下面?

public class MyGdxGame extends ApplicationAdapter implements GestureDetector.GestureListener { 

@Override 
public void create() { 
    super.create(); 
    //Doing stuff at create 
} 

@Override 
public void resize(int width, int height) { 
    super.resize(width, height); 
} 

@Override 
public void render() { 
    super.render(); 
    //Rendering stuff 
} 

@Override 
public void pause() { 
} 

@Override 
public void resume() { 
} 

@Override 
public void dispose() { 
    //disposing stufff 
} 

@Override 
public boolean touchDown(float x, float y, int pointer, int button) { 
    return false; 
} 

@Override 
public boolean tap(float x, float y, int count, int button) { 
    // Doing stuff at tap 
    return true; 
} 

@Override 
public boolean longPress(float x, float y) { 
    return false; 
} 

@Override 
public boolean fling(float velocityX, float velocityY, int button) { 
    return false; 
} 

@Override 
public boolean pan(float x, float y, float deltaX, float deltaY) { 
    //Doing stuff when paning 
} 

@Override 
public boolean panStop(float x, float y, int pointer, int button) { 
    return false; 
} 

@Override 
public boolean zoom(float initialDistance, float distance) { 
    return false; 
} 

@Override 
public boolean pinch(Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2) { 
    return false; 
} 

} 

回答

1

您的代碼只實現GestureListener。此偵聽器需要與GestureDetector關聯,然後需要註冊GestureDetector以處理輸入。

您MyGdxGame類中所以,你需要這樣的事情: -

GestureDetector input = new GestureDetector(this); // 'this' refers to your MyGdxGame instance 
Gdx.input.setInputProcessor(input); 

現在,你可以提供額外的參數給GestureDetector的構造,如您在您的文章中提到,或者使用GestureDetector的相關方法如下:

input.setTapSquareSize(someFloatValue); 
+0

該死的。這很簡單。無論如何 - 非常感謝 – anonymos