Touchmoved関数でフィンガーの動きの速度と方向を取得するにはどうすればよいですか?UITouch touchesMovedフィンガーの方向と速度
指の速度と指の方向を取得し、UIViewクラスの方向とアニメーションの速度で適用したいと思います。
私は、このリンクを読んで、私は答えを理解することはできません、加えて、私が方向を検出する方法を説明していません。
UITouch movement speed detection
これまでのところ、私はこのコードを試してみました:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *anyTouch = [touches anyObject];
CGPoint touchLocation = [anyTouch locationInView:self.view];
//NSLog(@"touch %f", touchLocation.x);
player.center = touchLocation;
[player setNeedsDisplay];
self.previousTimestamp = event.timestamp;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
CGPoint prevLocation = [touch previousLocationInView:self.view];
CGFloat distanceFromPrevious = [self distanceBetweenPoints:location :prevLocation];
NSTimeInterval timeSincePrevious = event.timestamp - previousTimestamp;
NSLog(@"diff time %f", timeSincePrevious);
}
これをチェックしてくださいとしてだけではなく、以下、私もタッチを比較していますが、その速度が遅いとなってhttp://stackoverflow.com/questions/21952274/how-効果的な処理 - マルチタッチシーケンスのuituitches – Ranjit
方向の上下に関するコメントを編集してください、彼らは反対です – Garnik