도약 모션을 사용하여 코드를 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);
많은 감사를
라이언
Observable 클래스를 사용하여 업데이트를 펌프 아웃하는 방법을 생각해 보았습니다.이를 잘라내겠습니까? –
하나의 함수를 호출하는 것은 과도한 것으로 보이지만, 더 많은 데이터를 보내고이 단일 정수를 보낼 필요가 있다면, 아마도 가치가있을 것입니다. 나는 자바 녀석이 아니기 때문에 자바 스타일의 안내를주는 것이 어리석은 일이다. –