- Home /
 
 
               Question by 
               Tofudude624 · Apr 08, 2012 at 07:03 AM · 
                rotation  
              
 
              Rotation Question...
Hi. When a button is clicked, I want an object to rotate 90 degrees and then stop...and I want that rotation to take exactly 2 seconds. When I try this bit of code, the rotation is always a few degrees off (it rotaes about 94 degrees)...why? Thanks
 var Can_Spin = false;
 function OnGUI(){
         if (GUI.Button (Rect( Camera.main.WorldToScreenPoint (transform.position).x-15,Screen.height-Camera.main.WorldToScreenPoint(transform.position).y-.5f,25, 15),"")) {
             Can_Spin=true;Invoke("Phase_1",2);
             }
 }
 
 function Phase_1(){
         Can_Spin=false;}
         
 function Update(){
         if(Can_Spin==true){transform.Rotate(Vector3.forward * Time.deltaTime*90/2);}
 }
 
              
               Comment
              
 
               
              Answer by DayyanSisson · Apr 08, 2012 at 07:15 AM
Probably because in the time for it to run that code it kept rotating another 4 degrees. You'll have to find out how many degrees it's turning per frame and then multiply that by 90 and it'll only spin 90 degrees.
Your answer