Realisation d'une boussole

vlaamse Messages postés 13 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 20 novembre 2003 - 6 sept. 2003 à 14:49
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009 - 8 sept. 2003 à 14:24
bonjour je realise actuellement une boussole et je sohaite savoir comment réaliser un deplacement de l'aiguille selon un axe en suivant le curseur.

Merci d'avance aux connaisseurs

1 réponse

afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
8 sept. 2003 à 14:24
Salut vlaamse, t'as ta réponse un peu tard désolé, je vais essayer d'être le plus pertinent possible.

Tout d'abord concernant le déplacement de l'aiguille / à un axe :
Au moment de la création de ton clip auguille, fait en sorte que le point d'ancrage (le cercle blanc avec la croix à l'interieur) soit positionné soit à l'extremité soit au centre de ton aiguille(tout depend de la forme de ton aiguille), c'est lui
qui jouera rôle d'origine ou passe l'axe de rotation.

Concernant le mvt de l'aiguille, il suffit d'utiliser la propriété _rotation pour le clip aiguille qui spécifie la rotation du clip d'un certain angle en degré / à l'horizontale et vis à vis de la position de la souris puisque tu veux que l'aiguille suive le curseur.

Concernant l'angle de rotation, il faut faire un peu de trigo t'as la position y et x de la souris représenté par les propriétés _ymouse et _xmouse, tu en déduit l'angle en faisant tangente (y/x) ou Math.tan2(_ymouse,_xmouse) sous flash puis il faut diviser le tout par Pi/180 pour passer des radians en degré (_rotation est en degré, math.tan est calculé en radians). Le pb est que _ymouse et _xmouse sont donné par rapport au bord de la feuille mais pas par rapport à l'origine de l'axe de rotation (pt d'ancrage) donc faudra faire une modif dans la formule vis à vis de l'emplacement de ton aiguille par rapport au bord de la feuille.

2 possibilités, soit tu t'énerve un bon coup pour trouver la bonne formule sachant que quelqu'un peut te renseigner sur ce forum. Soit tu te sert de celle ci (je trouve la formule pour retrouver l'angle un peu bizarre mais ça fonctionne) :

Compass

A+
aFaD
0
Rejoignez-nous