Dominique Lefebvre a écrit:C'est le calcul de l'angle que tu fais dans le mauvais repère...
Essaye thetaB = ArcTg((yA - y0)/(xA - x0)), en faisant attention aux valeurs négatives...
seulement pour l'info (puisque je sais bien que tu le sais

)
voilà comment j'ai géré les négatifs
//valA sert à stocker le Y de A - le Y du centre et valB à le X de A - le X du centre
valA = sio2->_SIO2window->touch[ 0 ]->y - 64.0f;
valB = sio2->_SIO2window->touch[ 0 ]->x - 80.0f;
if (valB = 0.0f)
{
valC = valA / valB;
valC = atan(valC);
cosR = cos(valC);
sinR = sin(valC);
}
//ça c'est l'application de la position à l'image
iggame->_map->_widgets->angle->_SIO2transform->loc->x = 80.0f + (48.0f * cosR);
iggame->_map->_widgets->angle->_SIO2transform->loc->y = 64.0f + (48.0f * sinR);
thetaB est en radian et non en degré mais ça change rien
Et si jamais par un pur hasard un autre programmeur a besoin de faire tourner une image autour d'une autre et qu'il passe par se forum, ce code est en C donc il fonctionnerait sous tout les langages à base de C y'a seulement à adapter les fonctions de retour de position de cliques et d'application de position à l'image (ou les miennes sont adapter à mon moteur)
je supose que c'est inutile de le donner mais bon.. sait-on
