2014-01-08 5 views
1

Что я пытаюсь сделать, это использовать классы android.view.GestureDetector и android.view.ScaleGestureDetector в Android, но они, похоже, отключены LibGDX. Мне нужно специально получить доступ к объектам MotionEvent, которые Android генерирует, когда пользователь касается экрана. Может ли кто-нибудь помочь указать мне в правильном направлении или подтвердить, действительно ли LibGDX отключает их? Заранее спасибо.Можете ли вы получить Android MotionEvents при использовании LibGDX

+0

http://stackoverflow.com/questions/15177049/android-libgdx-swipe- левый и правый обнаружения, используя-жест-слушателя. проверьте это, если это помогает – Raghunandan

+0

Я проверил указанную вами ссылку, и это не помогло, поскольку мне нужен доступ к объектам Android MotionEvent, которые генерируются, когда пользователь касается экрана. –

ответ

3

Уже существует абстракция GestureDetector на libgdx. GestureListener Вы можете использовать его как это:

public class MyGestureListener implements GestureListener { 

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

    @Override 
    public boolean tap (int x, int y, int count) { 
     return false; 
    } 

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

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

    @Override 
    public boolean pan (int x, int y, int deltaX, int deltaY) { 
     return false; 
    } 

    @Override 
    public boolean zoom (float originalDistance, float currentDistance) { 
     return false; 
    } 

    @Override 
    public boolean pinch (Vector2 initialFirstPointer, Vector2 initialSecondPointer, Vector2 firstPointer, Vector2 secondPointer) { 
     return false; 
    } 
} 

Не забудьте установить его в качестве InputProcessor

Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener())); 

Артикул: Gesture Detection

как маленький плюс, если вы найдете что-нибудь Android что вы хотели бы использовать с libgdx, эта ссылка может вам помочь: Interfacing with Platform Specific Code

+0

Извините, но еще раз мне нужно получить доступ к объектам Android MotionEvent, поскольку они генерируются, когда пользователь касается экрана. –

+2

Вы не можете использовать MotionEvent в Libgdx напрямую, потому что это будет означать, что вы просто разрабатываете для Android. Эти gestureListener обнаруживают эти события даже на рабочем столе или внутри браузера! Если вы хотите, чтобы они напрямую увидели wiki libgdx, как передать содержимое Android прямо в ядро ​​Projekt. (Например, см. Учебное пособие для AdMob) https://github.com/libgdx/libgdx/wiki/Admob-in-libgdx Это правильный ответ, если вы хотите сказать «путь» libgdx. – BennX

Смежные вопросы