How to make my character defends only in one direction by pressing a key

Hi, I want to implementate a key to make my character to defend himself avoiding taking damage of enemies. But I have a problem, I don't know a couple of things for doing it:

  • First Thing: How I can achieve that the effect of defending (could be just a variable that remains activated while defending) only while pressing the key? I know how to do it if I press the key one time. But I want to know how to made it by holding the key.
  • Second Thing: If I know how to make the First Thing, How I can achieve that I defend only on my front, I don't want to defend my back too. I mean, if my enemy attack my back I want my character to be damaged.

Hope you could help me. Thanks

Hello,

You can check out this in the script reference:

http://unity3d.com/support/documentation/ScriptReference/Input.GetButtonDown.html

You will notice that GetButtonDown will return true when the button is pressed. So, you could use this function to set a boolean flag (you could call it AFF_INVULNERABLE), and you could un-set the flag using GetButtonUp. Then put an IF check in your script that handles applying damage to the player (If that flag is set, then don't apply the damage).