0

ジェスチャを使用せずにKinectのクリック機能を作成しました..シンプルで機能します..しかし、機能を待機させたい..カウンターが機能していないようです..やりたいことは..私の手なら3秒以上言ってみましょう..そしてtrueを返します..それを行う方法はありますか? カウンターが機能していないようです

  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;


                       }
                   }

               }
4

1 に答える 1

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!
  }
}

オブジェクトを最初に入力したときに切り替わるフラグを追加し、それをチェックして、最後のタイマーティック以降にオブジェクトを離れたかどうかを確認できます。

于 2012-10-04T19:21:24.290 に答える