Comment implémente-t-on des gestes sur l'iPhone? Je connais avec l'utilisation des événements tactiles sur l'iPhone, mais je suis extrêmement paresseux et je ne veux pas réinventer la roue pour quelque chose de plus répandu que les gestes de pincement ... Code source ou liens à ce sujet serait utile. p>
4 Réponses :
Vous devez la mettre en œuvre vous-même en utilisant des mathématiques de base.
- (CGFloat)distanceBetweenTwoPoints:(CGPoint)fromPoint toPoint:(CGPoint)toPoint { float xDist = fromPoint.x - toPoint.x; float yDist = fromPoint.y - toPoint.y; float result = sqrt( pow(xDist,2) + pow(yDist,2) ); return result; }
Ummm ... pas sûr de ce que le lien "DOT PRODUIT" que vous avez cité sera utile, mais merci pour une réponse au moins ...
Sans cela, vous ne pouvez pas calculer la distance entre les deux touches. C'est essentiel.
THX - Le code source est beaucoup plus facile à comprendre dans ce cas. Je n'ai pas été prêt à vous asseoir et à tenter d'absorber une page de wiki entière sur les subtilités du «produit DOT» lol
Encore une fois, pourquoi ai-je besoin de violon avec des racines carrées (dans votre méthode fournie) juste pour obtenir la distance entre deux points? Je fais habituellement quelque chose comme: différencex = pointa.x - pointb.x; différencieuse = pointa.y - pointb.y; ... Alors, qu'est-ce que je manque?
Thx pour la clarification. BTW, avez-vous déjà mis en place une fonction de geste de pincement dans votre expérience en tant que programmeur de jeux? Si oui, pourriez-vous passer une source pour nous aider? Je suis sûr que beaucoup de gens vont en bénéficier. THX.
Si vous pouviez donner une source pertinente pour pincer la mise en œuvre du geste, je vous donnerai la coche. Sinon, il va à MARCC qui a fourni un lien vers un didacticiel qui semble plus pertinent.
sqrt code> retourne toujours positif? Pourquoi prendre la valeur absolue?
Si vous recherchez un exemple de code simple du geste de pincement, j'utilise la méthode décrite par Brock dans l'exemple d'application Je décris ici (dans les dernières et dernières versions de l'application sur cette page). Les gestes de pincement sont utilisés pour élaborer quelques couches d'animation de base dans cet exemple. P>
Tout ce qu'il décrivant aussi loin que le calcul de la distance est simplement le théorème Pythagoreen appliqué entre deux points (avec les distances X et Y comme les deux faces d'un triangle droit). P>
hmmm ..... Il semble que certaines personnes soient extrêmement confuses sur la manière d'utiliser les mathématiques de base. Le produit DOT est totalement irrépargnant et confond simplement les problèmes. DOT PROD entre 2 vecteurs est utilisé pour calculer l'angle entre eux. P>
Vous devez effectivement utiliser le théorème de Pythagore. DOT n'est rien à voir avec la recherche de la distance entre les points - seulement pythagorous! P>
Le point peut être utilisé pour trouver une distance entre deux points par les éléments suivants: sqrt (point (P2-P1, P2-P1))
À peu près sûr que les solutions présentées ici ont été obsolètes, en faveur de l'utilisation de la nouvelle classe UIPInchgesurerCognizer dans iOS 3.2 et ultérieure. P>
Ce n'est pas aussi pertinent tant qu'il y a des tonnes de <3,2 appareils là-bas.
Regardez cet échantillon sur Pinch Zoom Cocoabugs.Blogspot.com/2011/ 03 / ...