A questão foi respondida e dada como aceite
GetKey Problems
The point is, I'm using GetKey(KeyCode.LeftShift) on my program to do a action but while its pressed it have to do this action but when is released i would like to stop the action that was been made for him...
He change the isKinematic option of my GameObject to true but when i relesed it i need to become false again.
I already put isKinematic = false in update
Tried to use GetKeyUp... Nothing is working... please help.
Answer by Zoogyburger · Mar 11, 2016 at 11:12 PM
Try this:
public Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D> ();
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space)) {
rb.isKinematic = true;
}
if (Input.GetKeyUp(KeyCode.Space)){
rb.isKinematic = false;
}
}
Already try it... Didn't work because Get$$anonymous$$eyDown only works at the press of the button, not while its pressed... I make it work creating two booleans, while one is true other is false and that make the change in the code... But it's strange... like im just putting duct tape... XP
Does that mean you fixed the problem? Sorry my solution didn't work.
In some ways a fixed it but not the way I was thinking... Thank you for helping me. XDDDDD
Answer by Positive7 · Mar 12, 2016 at 12:07 AM
void Update ()
{
if (Input.GetKey (KeyCode.LeftShift)) {
rb.isKinematic = true;
} else {
rb.isKinematic = false;
}
}
Follow this Question
Related Questions
Why does my player move without any buttons being pressed? 1 Answer
I can't move my player in a fps? 1 Answer
IsPointerOverGameObject() returns Object reference not set to an instance of an object 2 Answers
Photon Player Mover Failure 1 Answer
Is there a way to move a player with forces only if the mouse has changed position? 1 Answer