Je fais une application de dessin et je veux incrémenter la taille de ma brosse en fonction de la vélocité des touches.Y at-il un moyen de déterminer la vélocité d'un mouvement tactile
Comment est-ce que j'accomplirais ceci?
Je fais une application de dessin et je veux incrémenter la taille de ma brosse en fonction de la vélocité des touches.Y at-il un moyen de déterminer la vélocité d'un mouvement tactile
Comment est-ce que j'accomplirais ceci?
Oui. Voir les méthodes sur UIView
du nom touches*
, en particulier:
- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
Il est appelé quand un mouvement (« slide »?) Est détectée, et ne souffre pas d'être « dupe » par de multiples touches rapides. Vous pouvez obtenir les coordonnées de la position du doigt courant dans la vue et le moment où l'événement ocurred:
UITouch *touch = [touches anyObject];
CGPoint inFrameCoordinate = [touch locationInView:self];
NSTimeInterval timestamp = [touch timestamp]
obtenir la distance et le temps entre deux coordonnées pour calculer la vitesse.
Eh bien, UITouch a des propriétés pour l'emplacement et l'horodatage; En utilisant ces propriétés, vous pouvez calculer la "vélocité" du toucher entre deux événements tactiles.
Cela ne fonctionnera que pour les touches simples, bien sûr, et vous devrez peut-être lisser les résultats. En outre, l'utilisateur peut être en mesure de vous "tromper" en tapant rapidement avec deux doigts alternativement ;-)