Я пытаюсь использовать классы android.view.GestureDetector и android.view.ScaleGestureDetector в Android, но они, похоже, отключены LibGDX. Мне нужно специально получить доступ к объектам MotionEvent, которые Android генерирует, когда пользователь касается экрана. Может ли кто-нибудь помочь указать мне правильное направление или подтвердить, действительно ли LibGDX отключает их? Заранее спасибо.
Можете ли вы получить Android MotionEvents при использовании LibGDX
comment
stackoverflow.com/questions/15177049/. проверьте это, если это поможет
- person Raghunandan   schedule 08.01.2014
comment
Я проверил предоставленную вами ссылку, и она не помогла, так как мне нужен доступ к объектам Android MotionEvent, которые генерируются, когда пользователь касается экрана.
- person Scott Kingdon   schedule 08.01.2014
Ответы (1)
В libgdx уже есть абстракция GestureDetector. 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()));
Ссылка: Обнаружение жестов
В качестве небольшого плюса, если вы найдете что-то специфичное для Android, которое вы хотели бы использовать с libgdx, эта ссылка может вам помочь: Взаимодействие с кодом конкретной платформы
person
Lestat
schedule
08.01.2014
Извините, но мне снова нужно получить доступ к объектам Android MotionEvent, поскольку они генерируются, когда пользователь касается экрана.
- person Scott Kingdon; 08.01.2014
Вы не можете использовать MotionEvent в Libgdx напрямую, потому что это будет означать, что вы просто разрабатываете для Android. Эти жесты прослушивателя обнаруживают эти события даже на рабочем столе или внутри браузера! Если вы хотите получить их напрямую, посмотрите вики libgdx, как передать вещи Android непосредственно в ядро Projekt. (Например, см. руководство по AdMob) github.com/libgdx/libgdx/wiki/ Admob-in-libgdx это правильный ответ, если вы хотите сказать в стиле libgdx.
- person BennX; 08.01.2014