- Home /
Get player to rotate towards object on GetKeyUp
So When my character is within a certain distance of a tree, and then pushes the E key, I want him to look at the tree. But I can't figure out how to get it to work. I know the code to get it to rotate towards it, but when I use "Input.GetKeyUp(Keycode.E)", then it will only rotate for 1 frame and not finish. How can I get it to rotate until it's done? Basically I want it to overpower the regular player movement controls. Here is the code:
void ChopWood() {
Quaternion lookRotation = Quaternion.LookRotation(transform.position - player.position);
Movement mo = (Movement)player.GetComponent("Movement"); //This is just used to access the speed it should rotate
if (distance < 5 && Input.GetKey(KeyCode.E)) {
player.rotation = Quaternion.RotateTowards(player.rotation, lookRotation, mo.rotateSpeed * Time.deltaTime);
}
}
(player is the player's transform, and distance is the distance between the player and the tree)
Answer by dorpeleg · Jun 16, 2013 at 12:12 AM
Because you are using a key press, the rotation only happens in the same frame where you pressed the key.
Either hold the key :P (should work with your current code).
Or crate an if statement.
something like:
if(keywaspressd) {
player.rotation = Quaternion.RotateTowards(player.rotation, lookRotation, mo.rotateSpeed * Time.deltaTime);
}
And set keywaspressd to true when you press the key.
Yeah i was trying it with just Get$$anonymous$$ey, but i really wanted it to just be get key up.
But I think I'm just gonna leave it with get$$anonymous$$ey and hold it :p thanks!
Your answer
Follow this Question
Related Questions
Camera rotation around player while following. 6 Answers
2D lock x,y rotation to look at target 2 Answers
Rotate the Player With Joystick 0 Answers
Movement along X and Z axis... 2 Answers
Rotate to face player, drunk issues 0 Answers