2014-07-10 9 views
0

Je suis la rotation d'une main d'horloge autour du centre d'horloge, et je me sers:sprite Faire tourner autour du pivot avec le doigt glisser

Vector3 dir = mouseClickPos - transform.position; 
float angle = Mathf.Atan2(dir.y,dir.x) * Mathf.Rad2Deg; 
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); 

Et cela fonctionne comme un charme. Mais j'en ai besoin pour ne pas aller en douceur mais pour sauter autour de 15 degrés. Comment puis je faire ça?

Répondre

0

Essayez

angle=Mathf.Round(angle/15f)*15f 

(désolé pour le mauvais mathématiques d'abord, besoin de café)

+0

Non. Il le limite à seulement 15% du cercle complet. – filipst

+0

mathématiques fixes dans la réponse –

+0

Une question de plus, comment puis-je faire deux fois plus lent objet de rotation deux fois? Par exemple, lorsque le premier fait 360 degrés, le second ne tourne que pour 180. – filipst

Questions connexes