Hi,
I’m trying to spin one object with the cursor and when the spinning is finished, the object wait for 2 seconds and then return to the point or rotation.
The rotation is working but, the return to the point of rotation is not working.
Please take a look to my script any advice is welcome
Thanks in advance.
var rotationSpeed = 20; // rotation speed
var rotationStart = 0.0; // rotation on start
function Awake () {
transform.Rotate(rotationStart,0,0);
}
function Update (){
if (Input.GetButton("Fire1")){
transform.eulerAngles.y = (transform.eulerAngles.y - Input.GetAxis("Mouse X") * rotationSpeed);
if (Input.GetButtonUp ("Fire1")) {
yield WaitForSeconds (2.0);
transform.Rotate(rotationStart,0,0);
}
}
}
Try:
transform.rotation = Quaternion.Euler(rotationStart,0,0);
Your code complete:
#pragma strict
var rotationSpeed = 20; // rotation speed
var rotationStart = 0.0; // rotation on start
function Awake () {
transform.Rotate(rotationStart,0,0);
}
function Update (){
if (Input.GetButton("Fire1")){
transform.eulerAngles.y = (transform.eulerAngles.y - Input.GetAxis("Mouse X") * rotationSpeed);
}
if (Input.GetButtonUp ("Fire1")) {
StartCoroutine("Return",2);
}
}
function Return(){
yield WaitForSeconds (2.0);
transform.rotation = Quaternion.Euler(rotationStart,0,0);
}
Hi Lovrenc,
Thanks for your help, I made the change to the script but is not working, here it is my Updated script.
any advice?
Thanks again
var rotationSpeed = 20; // rotation speed
var rotationStart = 0.0; // rotation on start
function Awake () {
transform.Rotate(rotationStart,0,0);
}
function Update (){
if (Input.GetButton("Fire1")){
transform.eulerAngles.y = (transform.eulerAngles.y - Input.GetAxis("Mouse X") * rotationSpeed);
}
}
function Return(){
if (Input.GetButtonUp ("Fire1")) {
yield WaitForSeconds (2.0);
transform.rotation = Quaternion.euler(rotationStart,0,0);
}
}