- Home /
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
Answer by Cameron 3 · May 16, 2011 at 05:04 PM
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).
You could also just use that function in your If statement
If ( !Input.GetButtonDown ("Fire1")) { // Apply damage }
i just though now, maybe if u create a shield object right in front of the character which is triggered when u press a button. For the button press u can do this "if (Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.D))" or maybe a while statement but it bugs out for me so not sure how to use that.
Your answer
Follow this Question
Related Questions
Scripting issue with opening a door with a key. 2 Answers
How to make a falling object cause damage? 1 Answer
Damage trigger? 1 Answer
(C#) My enemy dosent take damage ScriptFix 1 Answer
turn off script with a key.. 1 Answer