2016-07-26 2 views
0

도약 모션을 사용하여 코드를 0에서 255까지 위로 스크롤하려고합니다. (그래서 인쇄 : 1, 2, 그 다음에 3, 그리고 cw 서클에 3, 2 , 1 acw 서클).자바 : 도약 모션 리턴 값 void

제스처의 동작은 void onFrame() 메서드에 있습니다.

원 제스처가 감지 될 때마다 숫자를 증가시켜 모든 단일 숫자를 출력해야합니다. 그것이 그대로, 내 코드는 백그라운드에서 증가하고 숫자를 입력 할 때만 카운트 업합니다 (따라서 두 번째 프롬프트에서 카운트 된 숫자가 표시됩니다). 사용자가 실제로 임계 값 프롬프트로 커 L 트하는 x 호를 실제로 볼 수 없기 때.에 이것은 나쁨입니다.

제발 도와주세요. 저는이 프로젝트에 매우 익숙합니다. 제 프로젝트가 느려집니다!

문제가있는 부분을 강조하기 위해 삭제 된 클래스를 제공했습니다. 프롬프트 채울 promptValue 변수를 호출

public class ImageJListener extends Listener { 

public Robot robot; 

public int promptValue; 
// potentially look into atomic objects and non atomic objects in case this has a threading issue 
public ImageJListener() { 
    this.promptValue = 0; 
} 

public int getPromptValue() { 
    return this.promptValue; 
} 

... 

public int onFrame(Controller controller) { 
    com.leapmotion.leap.Frame frame = controller.frame(); 

    for (Gesture gesture : frame.gestures()) { 
     if (gesture.type() == Type.TYPE_CIRCLE) { 
      CircleGesture circle = new CircleGesture(gesture); 
      if (circle.pointable().direction().angleTo(circle.normal()) <= Math.PI/4) { 


       promptValue++; 
       return promptValue; 


      } else { 

       promptValue--; 
       return promptValue; 

      } 

     } else if (gesture.type() == Type.TYPE_KEY_TAP) { 
      KeyTapGesture Tap; 
      Tap = new KeyTapGesture(gesture); 

      try { 
       Robot robot = new Robot(); 
       robot.keyPress(KeyEvent.VK_ENTER); 
       robot.keyRelease(KeyEvent.VK_ENTER); 
      } catch (AWTException awt) { 
      } 
     } 
    } 
} 

}

플러그인 클래스 (:

리스너 클래스 사전에

IJ.setRawThreshold(imp, IJ.getNumber("prompt", (listener.getPromptValue())), IJ.getNumber("prompt", (listener.getPromptValue())), null); 

많은 감사를

라이언

답변

0

OnFrame()에서 값을 반환해도 도움이되지 않습니다. OnFrame은 Leap Motion 코드에 의해 호출되며 사용자가 제공 할 수있는 값이라도 아무 것도하지 않습니다. 필요한 경우 즉석 프롬프트 값을 변경하는 기능이 필요합니다. 그런 다음 OnFrame이 해당 함수를 호출 할 수 있습니다.

+0

Observable 클래스를 사용하여 업데이트를 펌프 아웃하는 방법을 생각해 보았습니다.이를 잘라내겠습니까? –

+0

하나의 함수를 호출하는 것은 과도한 것으로 보이지만, 더 많은 데이터를 보내고이 단일 정수를 보낼 필요가 있다면, 아마도 가치가있을 것입니다. 나는 자바 녀석이 아니기 때문에 자바 스타일의 안내를주는 것이 어리석은 일이다. –