使用 Processing 检测 android 上的捏合动作

Detect pinch action on android with Processing

我正在开发一个用 Processing 3 编写的 android 应用程序。它需要能够在启动捏合动作 "zoom in" 时增加一个变量,并在 [=20] 时减少=].

在 Processing 中是否有内置的方法来执行此操作,如果没有,有人可以在正确的方向上给我提示以创建我自己的解决方案吗?

提前致谢。

看看Ketai Library - KetaiGesture:

Provides gesture recognition services to a processing sketch. To receive gesture events a sketch can define the following methods:

...

onPinch(float x, float y, float r) - x,y of center, r is the distance

使用捏合动作更改圆大小的代码示例:

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);
}

希望对您有所帮助!