2009-04-18 2 views
0

J'essaie de créer un objet rotatif pour l'iPhone. Je l'ai calculé tout le trig. Le problème est que pour mon projet, j'ai besoin que le programme réinitialise le x et le y à chaque fois qu'un doigt est déplacé de plus de 30 degrés autour du point central. Chaque fois que je lier une variable aux x et y de l'emplacement actuel dans la fonction touchesMoved, ils se lient de façon permanente et changent continuellement avec l'événement glisser au lieu de rester constant et de mettre à jour tous les 30 degrés. Y a-t-il un moyen de stocker statiquement un x et un y?SDK iPhone: comment stocker une paire de coordonnées générée lors d'un événement tactile?

Kailoa Kadano, déjà fait cela et il encore lié et mis à jour. Code: currentpoint = [toucher emplacementInview: auto.view]; lorsque l'angle entre le point de départ et le point courant> = 30 degrés set altpoint = currentpoint, je l'ai fait en utilisant CGPointMake et cela n'a pas fonctionné. altpoint continuellement mis à jour au point courant

+0

Kailoa Kadano, déjà fait cela et il encore lié et mis à jour. Code: currentpoint = [toucher emplacementInview: auto.view]; lorsque l'angle entre le point de départ et le point courant> = 30 degrés set altpoint = currentpoint, je l'ai fait en utilisant CGPointMake et cela n'a pas fonctionné. altpoint continuellement mis à jour à currentpoint –

+0

pouvez-vous poster le code exact de "set altpoint = currentpoint" cela sonne bizarre. –

Répondre

1

Utilisez la structure CGPoint.

Point CGPoint = CGPointMake (1,2); point.x // 1 // 2 point.y

0

Assurez-vous de déclarer CGPoint startPoint dans vos classes .h fichier, puis mettez à jour la valeur de votre mise en œuvre de touchesBegan avec:

startPoint = CGPointMake(point1.x, point1.y); 

Comme spécifié par Kailoa ci-dessus. Ensuite, dans votre implémentation de touchesMoved, vous pouvez vérifier si le nouveau point fait plus de 30 degrés de séparation et, si c'est le cas, mettre à jour startPoint.

Si ce qui précède n'est pas ce que vous cherchez, s'il vous plaît poster plus de détails/exemple de code.