使用 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);
}
希望对您有所帮助!
我正在开发一个用 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);
}
希望对您有所帮助!