2012-05-07 18 views
-1

私が知る限り、サンプルレートでタッチポイント/ロケーションを収集する公開APIはありません。誰でもこれを達成するための回避策を知っていますか?どんな考えやアドバイスでも、事前に感謝します。タッチポイントの収集

+3

APIは、発生するすべてのワンタッチを収集するために存在します**。 ' - (void)touchesBegan'、' - (void)touchesMoved'、 ' - (void)touchesEnded'を使うと、必要なものすべてを知ることができます。あなたは何を探していますか? – mbm29414

+0

私はタッチポイントを収集するだけでなく、 "サンプルレートで"を意味しました。サンプルレートでサンプルを収集するにはどうすればよいですか? – HappyAppDeveloper

+2

私はあなたが言ったことを得るが、あなたは***彼らのすべて***を得る***彼らが起こる***。彼らが動いていないなら、どうして彼らをサンプリングし続けたいのですか? ***が***移動している場合、通知され、その時点でタイムスタンプを取ることができます。私はまだ 'UITouch'クラスが提供していないことをあなたが理解していません。 – mbm29414

答えて

3

​​あなたが探しているものはありますか?

+0

私はUITouchとメソッドtouchesBegan、touchesMoved、touchesEndedを認識しています。しかし、私がここで達成したいのは、特定のサンプリングレートでタッチポイントを収集することです。 – HappyAppDeveloper

+1

タッチを登録するときに、NSDateをチェックし、そこからサンプルレートの範囲内にあるかどうかを確認します。私はタイマーを設定することは、ユーザーが触れるかどうかにかかわらず実行されているので、残酷であると思います。 – runmad

0

NSTimerを使用してみてください:

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/TIMES_PER_SECOND target:self selector:@selector(sampleTouches:) userInfo:nil repeats:YES]; 

その後、コールバック関数を実装します。これは、サンプル・レートでタッチポイントを記録する記録も速くまたはより正確にしないことが判明

-(void)sampleTouches:(NSTimer*)timer { 
    // Call a method/function here that gets UITouch data. 
} 
+0

お返事ありがとうございます!私の知る限り、このコールバック関数でtouchイベントを処理するUIEventオブジェクトにアクセスする必要があります。タッチイベントをこのコールバックに関連付けるにはどうすればよいですか?私はまだ実装する必要がありますか? - (void)touchesBegan:(NSSet *)withEvent :(UIEvent *)イベント – HappyAppDeveloper

+0

2つのこと:1)彼の 'NSTimer'オブジェクトは正しく設定されていません。 '1.0/TIMES_PER_SECOND'が必要です。 2)単に 'NSTimer'を設定しても、' UITouch'オブジェクトへの特別なアクセスはありません。あなたは本当に 'UITouch'イベントを扱いたいと思っています。この方法は良い解決策ではありません。 – mbm29414

+0

@ mbm30075 1)あなたは間違いなしです。私は通常、1秒間に1回実行するように実装しているので、単純に1.0を使用します。ミックスアップして申し訳ありません。 2)それで、私は現在のUITouchのステータスを取得するための別の方法を記述するために説明しているコメントを入れます。私は、HappyAppDeveloperが何をしようとしているのか、具体的には指定された間隔でタッチするためのポーリングが必要なのかと考えています。 – C0deH4cker

0

を。タッチの方法は、行く方法でした。 touchesBegan、touchesMoved、touchesEndの各メソッドを実装することで、ビューに与えられたタッチポイントを発生時に、できるだけ速く記録することができました。