- 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.