나는 어떤 성공도없이 이것을 시도하고 시도하는 수많은 방법을 시도했다! 현재 코드가있는 순간에 사용자가 도약 모션 컨트롤러 위에 5 개의 손가락을 올리면 5 초 후에 카운터가 최대 169 개까지 도달 할 때까지 계속 카운트를 시작합니다. 최대 1 개를 추가하기를 원합니다. 나는 사용자가 도약 동작을 10 번 가져갈 수 있도록 노력하고 있으므로 사용자가 운동을 할 때마다 점수를 1/10, 2/10 등으로 점수에 추가합니다. 하지만 사용자가 그것을 한 번하면 나는 169/10을 얻는다! 아무도 이것에 대한 제안이나 올바른 방향으로 나를 가리킬 수있어?! 그것의 대학 프로젝트를 위해 나는 여기에서 나의 깊이에서 느낀다! 나는 모든 코드를 포함했다 :도약 모션 컨트롤러 setTimeout 자바 스코어가 부정확합니까?
//Set up the controller
var controller = new Leap.Controller();
var isCounting = false;
controller.on('frame' , function(frame){
c.clearRect(0, 0, width, height);
var numberOfFingers = frame.fingers.length;
c.font = "200px Arial";
c.fillStyle = '#3e8a41';
c.textAlign = 'center';
c.textBaseline = 'middle';
c.fillText(numberOfFingers , width/2 , height/2);
if(numberOfFingers == 5 && !isCounting) {
isCounting = true;
setTimeout(function(){
isCountring = false;
if(numberOfFingers == 5){ //5 fingers still after 5s
var start = parseInt(document.getElementById('count').innerHTML);
var end = start+1;
document.getElementById('count').innerHTML = end;
}
}, 5*1000); //your 5s
}
});
controller.connect();
안녕하세요, 당신의 도움을 주셔서 감사합니다,이 작동하지 않았다 ... 그것은 캔버스가 사라질 원인이 controller.on ('프레임', 함수 (프레임) 반복되고 있기 때문에입니까? 위의 코드 안에 그 코드를 포함시켜 주시겠습니까? 다시 감사합니다. – plimbs
내 코드를 병합해야합니다 (그냥 isCounting이있는 모든 라인을 추가하십시오). –
미안하지만 뇌진탕이 조금 있습니다! 1 초 5 초가 지나면 다시 시도하고 다시 할 때 2로 증가하지 않으므로 10 초에 1을 고수 할 것입니다. 매번 1 씩 증가하는 방법이 있습니까? – plimbs