2016-10-14 4 views
0

Ich möchte Gebärdensprache Programm mit Sprungbewegung machen. Wenn ich meinen Arm dehne, bedeutet es "Gebärdensprache eingeben". Wenn ich mit der linken Hand nach rechts wische, bedeutet das "Platz". Swipe nach links mit der rechten Hand bedeutet "Backspace".leftmotion Geste zu swipeGesture

Ich sollte erkennen, der Rahmen hat Geste oder nicht. Ich habe es getan, indem ich frame.gestures gezählt habe. Ist es richtig?

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

     } 

wenn Gestenerkennung, Funktion Gestenarbeit. Ich brauche nur Wischgeste.

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

        ..... 

in Funktion Gebärde

SwipeGesture vSwipe = (SwipeGesture) gestures.get (i); -> hat nicht funktioniert.

was soll ich tun?

Antwort

0

Casting wird nicht unterstützt. Sie müssen ein neues SwipeGesture-Objekt aus dem Gesture-Objekt erstellen:

SwipeGesture vSwipe = SwipeGesture(gestures.get(i));