2011-02-04 2 views
0

Je voudrais utiliser l'accéléromètre pour déplacer mon sprite de joueur.Détection d'accéléromètre et rotation d'image-objet

Si le sprite tourne droit et que le joueur s'incline légèrement vers la gauche, l'image-objet doit pivoter légèrement vers la gauche, et la même chose vers la droite.

Je veux également détecter à quel point le lecteur a incliné le périphérique et activer le sprite en conséquence.

par exemple. Si le joueur incline beaucoup l'appareil, l'image-objet devrait pivoter de 90 degrés au lieu de 45 pour une inclinaison rapide dans une direction.

Comment fait-on cela? Détectez le mouvement du périphérique dans n'importe quelle direction, et pour un petit mouvement, l'image-objet doit tourner moins et pour une plus grande rotation, l'image-objet doit tourner davantage. J'ai expérimenté un peu et ne pas obtenir les résultats.

Parfois, il fonctionne pour les rotations dans le sens des aiguilles d'une montre vers le haut, vers la droite et vers le bas, mais pas pour les mouvements de gauche.

Quel est le calcul derrière cela. Un exemple serait la façon dont un périphérique détecte son orientation et fait pivoter l'écran.

Comment fait-on cela correctement?

Répondre

1

Pour l'accéléromètre, seules les chances de détection sont mauvaises. Vous pourriez regarder cette question. Si vous n'avez pas besoin de compter sur les anciennes versions d'iPhone (< 4) ou sur iPad, vous devriez utiliser le gyroscope à la place. Prenez l'API core core et commencez avec un exemple de théière de WWDC 2010 - vous pouvez le trouver here

+1

Pour toute personne intéressée, vous pouvez télécharger l'exemple de code de théière de github: https://github.com/marshaun/CoreMotionTeapot Je ne pouvais pas trouver le lien de téléchargement via le site WWDC2010 n'importe où. –