Hey there!
I’m trying to make a script, when player holds q button, i move him a little bit and rotate camera (z axis). However, script works, but when i’m holding q, and rotate player for example, 180 degrees, player doesn’t get back to start position, but rotates even more. Here’s my code:
if(Input.GetButton("LeanLeft")) {
isLeaning = true;
if(currentLean < leanSize) {
transform.Translate(leanSpeed * Time.deltaTime, 0, 0);
if(leanSize > 0.6) {
transform.Rotate(0, 0, leanSpeed * Time.deltaTime * -1 * leanAngle);
}
currentLean += leanSpeed * Time.deltaTime;
}
}
if(Input.GetButtonUp("LeanLeft")) {
isLeaning = false;
}
if(currentLean > 0.01 && (!isLeaning)) {
transform.Translate(leanSpeed * Time.deltaTime * -1, 0, 0);
transform.Rotate(0, 0, leanSpeed * Time.deltaTime * 1 * leanAngle);
currentLean -= leanSpeed * Time.deltaTime;
}
Here is result, what happens if i rotate 180 degrees when leaning:
Thank you for your time!