- Home /
Player Health and Death
I'm making a horror-ish game and I want it so that if the enemy (which is named Enemy with the tag: "enemy") touches the player, the game goes to level 5 (the death screen with a button bringing you back to the main menu). I'm not very good at programming. I can understand it well and edit it to my needs, but I can't really make much of a "foundation" for a script. How would I be able to make a script that does what I need? I already have the death screen and everything else. I just need that one script.
Thank You! :)
-Ethan
Answer by asafsitner · Jun 02, 2013 at 09:13 PM
Programming is problem solving. You define a problem, and then find the solution. If the problem is too big, break it down.
In your case, you need to find out when the player has been touched by the enemy, so you can go to your death screen.
Luckily for you, Unity has a very nice API and looking around leads to **`OnCollisionEnter`**. That looks promising, so let's try to implement our touch test using that.
On your enemy script, write the following (this example is C#, though UnityScript should be nearly identical and easy to convert):
//this method gets called when the collider this script is attached to touches another collider
//however, this will only happen if one of the colliders has either a RigidBody component or a CharacterController component
//so you need to have a RigidBody/CharacterController on either the player or the enemy
void OnCollisionEnter(Collision collision)
{
//make sure the other collider we hit is the player
//for this example's purpose we'll assume that the player has a tag 'Player'
if(collision.transform.tag == "Player")
{
//do whatever you need to do to get to the death screen
//for this example's purpose we'll assume that you just load scene #5
Application.LoadLevel(5);
}
}
See the documentation for **`Collision`** to find out what else you can get from it.
THAN$$anonymous$$ YOU!!!!!! I feel kinda dumb now XD. But I have learned from this experience and I am now motivated to learn C# and/or JavaScript! :)
That's great! $$anonymous$$y job is done, then :D
I'd recommend learning C# as it's useful out of Unity environment as well (Unity uses a custom script language that resembles JavaScript but is not really JavaScript, so it's technically more accurate to call it UnityScript)
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Death upon health = 0 2 Answers
How can I lose health when my enemy collides with the player? 1 Answer
Hurting by Gravity force HELP!!! ? 2 Answers