Hello, I am new here and I was wanting to add a system to my script that checks if the player has died from collision or not.
Below is my script
public class Guy : MonoBehaviour{
void Update()
{
Movement();
}
void Movement()
{
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector2.right * 4f * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 0);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector2.right * 4f * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 180);
}
}
}
and here is one that has something similar to what I am trying to achieve.
public class Bird : MonoBehaviour
{
public float upForce; //Upward force of the “flap”.
private bool isDead = false; //Has the player collided with a wall?
private Animator anim; //Reference to the Animator component.
private Rigidbody2D rb2d; //Holds a reference to the Rigidbody2D component of the bird.
void Start()
{
//Get reference to the Animator component attached to this GameObject.
anim = GetComponent<Animator> ();
//Get and store a reference to the Rigidbody2D attached to this GameObject.
rb2d = GetComponent<Rigidbody2D>();
}
void Update()
{
//Don't allow control if the bird has died.
if (isDead == false)
{
//Look for input to trigger a "flap".
if (Input.GetMouseButtonDown(0))
{
//...tell the animator about it and then...
anim.SetTrigger("Flap");
//...zero out the birds current y velocity before...
rb2d.velocity = Vector2.zero;
// new Vector2(rb2d.velocity.x, 0);
//..giving the bird some upward force.
rb2d.AddForce(new Vector2(0, upForce));
}
}
}
void OnCollisionEnter2D(Collision2D other)
{
// Zero out the bird's velocity
rb2d.velocity = Vector2.zero;
// If the bird collides with something set it to dead...
isDead = true;
//...tell the Animator about it...
anim.SetTrigger ("Die");
//...and tell the game control about it.
GameControl.instance.BirdDied ();
}
}