我想做一个有跳跃动作的手语程序。当我伸展手臂时,它的意思是“进入手语”。当我用左手向右滑动时,它的意思是“空格”。用右手向左滑动表示“退格”。
我应该认识到这个框架有没有手势。我是通过计算frame.gestures来做到的。是对的吗?
public void onFrame(Controller controller) {
Frame frame = controller.frame();
String sDirection = "";
GestureList gestures = frame.gestures();
if (gestures.count() == 0) {
try{
run(controller);
}catch(InterruptedException e){
e.printStackTrace();
}
} else {
sDirection = gesture(gestures);
}
System.out.println(sDirection);
}当检测到手势时,函数手势起作用。我只需要刷一下手势。
public String gesture(GestureList gestures) {
String result = "";
for (int i = 0; i < gestures.count(); i++) {
if (gestures.get(i).type() == Gesture.Type.TYPE_SWIPE) {
SwipeGesture vSwipe = (SwipeGesture) gestures.get(i);///What's wrong?!!!!!!!
System.out.println(gestures.get(i).type()); //
// Compare directions and give preference to the greatest linear
// movement.
float fAbsX = Math.abs(vSwipe.direction().getX());
float fAbsY = Math.abs(vSwipe.direction().getY());
float fAbsZ = Math.abs(vSwipe.direction().getZ());
.....在函数手势中,
SwipeGesture vSwipe = (SwipeGesture) gestures.get(i);->不工作。
我该怎么办?
发布于 2016-10-15 00:25:19
不支持强制转换。您需要从手势对象创建一个新的SwipeGesture对象:
SwipeGesture vSwipe = SwipeGesture(gestures.get(i));https://stackoverflow.com/questions/40036809
复制相似问题