- Home /
Reversing rotation back to zero
Hi there,
I have this code which works great. I can rotate my object to 180 and then reset it. What I want to do is have another state which allows me to go from 180 to zero. I had a play with the values, but can't get it to work. Any ideas on how this should work?
Many thanks,
Rich
var LoadChapterPageCollider : GameObject;
var speed = 100.0; // Degrees per second
private var myEuler = Vector3(0,0,0);
private var rotating = false;
var IntroPage : GameObject;
var ChapterPage : GameObject;
var BlankPageLeft : GameObject;
function Update () {
if (!rotating && Input.GetMouseButtonDown (0)) {
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
var hit:RaycastHit;
if (Physics.Raycast (ray, hit, 20) && (hit.collider.name == "loadChapterPageCollider")) {
rotating = true;
}
}
if (rotating) {
myEuler.y = Mathf.MoveTowardsAngle(myEuler.y, 180, Time.deltaTime * speed);
ChangeIntro1();
if (myEuler.y >= 180) {
myEuler.y = 0;
rotating = false;
Debug.Log("Test");
}
transform.eulerAngles = myEuler;
}
}
///Hide and show Pages
function ChangeIntro1(){
//ChapterPage.SetActive (true);
//IntroPage.SetActive (false);
}
Could you define your logic? Get to 180 then go back or start from 180 even if it were at 0? Write it down in steps on paper first.
I want to start from 180 and then go back to zero. The object is set at 180 from the start. Sorry that wasn't clear.
Your answer
Follow this Question
Related Questions
How do I call a function containing a while loop, inside the update function? 2 Answers
Is 360° the same as 0°? 2 Answers
Limit the rotation of an object 1 Answer
Object wont rotate in the opposite direction 1 Answer
Help with rotation code. 2 Answers