- 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
![](https://koobas.hobune.stream/wayback/20220613120337im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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