Come posso ottenere la velocità e la direzione dei movimenti delle dita nella funzione touchmoved?UITouch tocca Direzione e velocità del dito spostate
Voglio ottenere la velocità del dito e la direzione del dito e applicarlo in un movimento di direzione della classe UIView e velocità di animazione.
ho letto questo link, ma non riesco a capire la risposta, in aggiunta non è spiegare come posso rilevare la direzione:
UITouch movement speed detection
finora, ho provato questo codice:
-(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);
}
si prega di controllare questo, sto anche paragonando i tocchi, ma il suo divenire lento http://stackoverflow.com/questions/21952274/how- to-effective-process-uitouches-in-a-multitouch-sequence – Ranjit
Si prega di modificare il commento sulla direzione su e giù, sono opposti a – Garnik