Обнаружение пинч-действия на Android с помощью Processing - PullRequest
2 голосов
/ 25 мая 2019

Я работаю над приложением для Android, которое написано в Processing 3. Оно должно иметь возможность увеличивать переменную, когда инициируется пинч-действие «увеличение», и уменьшать, когда «уменьшается».

Есть ли встроенный способ сделать это в обработке, и если нет, кто-то может дать мне подсказку в правильном направлении для создания моего собственного решения?

Заранее спасибо.

1 Ответ

1 голос
/ 23 июня 2019

Взгляните на библиотеку Ketai - KetaiGesture :

Предоставляет услуги распознавания жестов для эскиза обработки. к Для получения событий жеста эскиз может определить следующие методы:

...

onPinch (с плавающей точкой x, с плавающей точкой y, с плавающей точкой r) - x, y от центра, r - это расстояние

Пример использования кода для изменения размера круга с помощью движения Pinch:

import ketai.ui.*;
import android.view.MotionEvent;

float ellipseWidth = 50;
float ellipseHeight = 50;
KetaiGesture gesture;

void setup() {
  size(displayWidth, displayHeight);
  gesture = new KetaiGesture(this);
}

void draw() {
  orientation(PORTRAIT);
  background(0);
  fill(0);
  stroke(255);
  ellipse(width/2, height/2, ellipseWidth, ellipseHeight);
}

void onPinch (float x, float y, float d) {
  ellipseWidth += d;
  ellipseHeight += d;
}

public boolean surfaceTouchEvent(MotionEvent event) {
  //Call this to keep mouseX and mouseY updated
  super.surfaceTouchEvent(event);

  //Forward the event to the class for processing
  return gesture.surfaceTouchEvent(event);
}

Надеюсь, это поможет!

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...