2014-02-15 1 views
0

Попытка уменьшить чувствительность панорамирования, установив квадратный размер крана, но даже установив огромные числа, как в приведенном ниже примере, кажется, не имеет никакого эффекта. На высококачественном маленьком экране практически невозможно коснуться чего-либо без использования режима панорамирования.libgdx CameraInputController слишком чувствителен, слишком рано поворачивает пинги

Каков правильный способ сделать это? Код ниже, похоже, ничего не делает.

public class CustomCameraInputController extends CameraInputController { 

    public CustomCameraInputController(Camera camera) { 
     super(camera); 
     this.setTapSquareSize(Gdx.graphics.getWidth()/5); 
    } 
} 

ответ

0

OK, отладки LibGdx я узнал, что tapSquareSize работает иначе, чем я ожидал. Он просто устанавливает флаг, но по-прежнему вызывает process() на пальцах, которые все еще находятся внутри квадрата крана.

Если вы хотите, чтобы панорамирование/вращение выполнялось только тогда, когда пользователь покидает квадрат крана, вам необходимо переопределить метод process() и преобразовать камеру только в том случае, если верно isPanning().

0

для перевода также панорамирование, используйте CameraInputController.translateUnits = float value;, обратите внимание, что другие два фактора, которые вы можете использовать для прокрутки и масштабирования в качестве множителя,

CameraInputController.pinchZoomFactor 
CameraInputController.scrollFactor 
+0

Спасибо, я использую translateUnits уже для замедления движения. Моя проблема скорее в том, чтобы различать касание и панорамирование в одном и том же детекторе жестов, на маленьком экране телефона малейшая ошибка приводит к кастрюле, поэтому трудно подобрать объекты. – Arthur

+0

Я предлагаю change setTapSquareSize (Gdx.graphics.getWidth()/5); к чему-то вроде setTapSquareSize (hypotenuse/5); это более точно, я сам планирую реализовать панорамирование камеры в своем проекте, но ничего не сделал, поэтому я понятия не имею, есть метод панорамирования, который ничего не делает на CameraInputController. – daniel

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