2

私は描画アプリを作成しており、タッチの速度に応じてブラシのサイズを増やしたいと考えています。

どうすればこれを達成できますか?

4

2 に答える 2

4

はい。具体的には、 UIViewnamedのメソッドを参照してください。touches*

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event

動き (「スライド」?) が検出されたときに呼び出され、複数回の素早いタッチによって「だまされる」ことはありません。ビュー内の現在の指の位置の座標と、イベントが発生した時刻を取得できます。

UITouch *touch = [touches anyObject];
CGPoint inFrameCoordinate = [touch locationInView:self];
NSTimeInterval timestamp = [touch timestamp]

速度を計算するために、2 つの座標間の距離と時間を取得します。

于 2010-01-18T19:51:15.783 に答える
0

UITouchには、場所とタイムスタンプのプロパティがありますこれらのプロパティを使用して、2 つのタッチ イベント間のタッチの「速度」を計算できます。

もちろん、これは 1 回のタッチでのみ機能し、結果を滑らかにする必要がある場合があります。また、ユーザーは 2 本の指で交互にすばやくタップして「ごまかす」ことができる場合があります ;-)

于 2010-01-18T19:45:22.893 に答える