2012-10-04 3 views
0

제스처를 사용하지 않고 Kinect에 대한 클릭 기능을 만들었습니다. 간단하고 작동합니다 .. 그러나 기다리는 기능이 필요합니다. 카운터가 작동하지 않는 것 같습니다. 내가 뭘하고 싶은지 .. 내 손이 버튼을 누른다면 3 초 이상을 말하게된다 .. 그러면 참을 돌려라. 어떤 방법으로 할 수 있니? 카운터가 작동하지 않는 것처럼 보입니다.Kinect 클릭 함수에 타이머 추가하기 C#

public bool KinectClick(int x,int y) 
      { 

       if ((x >= position.X && x <= position.X +position.Width) && (y >= position.Y && y <= position.Y + position.Height)) 
       { 
       // time.Start(); 
        int counter = 0; 

        while (true) 
        { 
         counter++; 

         if (counter >= 8000) 
         { 
          return true; 
          counter = 0; 


         } 
        } 

       } 

답변

1

저는 DispatcherTimer를 사용하여 수행하려는 작업을 수행합니다. 간단한 형태는 다음과 같이 보일 수 있습니다 :

private DispatcherTimer hitTestTimer = new DispatcherTimer(); 
private int timerCount = 5; 

public MyConstructor() { 
    hitTestTimer.Tick += OnHitTestTimerTick; 
    hitTestTimer.Interval = new TimeSpan(0, 0, 1); 
} 

private void OnHitTestTimerTick(object sender, EventArgs e) 
{ 
    if (timerCount > 1) 
    { 
    timerCount--; 
    } 
    else 
    { 
    // CLICK! 
    } 
} 

당신은 당신이 먼저 객체를 입력하고 당신이 있는지 확인하는 것을 확인할 때 전환 플래그를 추가 할 수 있습니다 (또는하지 않은) 마지막 타이머 이후 개체를 왼쪽 진드기.