Problema con colisiones en unity 3D c#

Estoy haciendo un script de vida, al colisionar un objeto pierda 1 vida, pero cuando choca saca una vida, pero después al volver a chocar ya no hace nada... ¿qué puede ser? ¿Cómo soluciono esto?

Este es mi código..:

La parte del daño:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Dentro : MonoBehaviour
{

int ouch = 1;

void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Obstaculos")
{
other.gameObject.SendMessageUpwards("QuitarVida", ouch, SendMessageOptions.DontRequireReceiver);
}
}
}

Y la parte de la vida:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class danho : MonoBehaviour {

int vida = 3;
public Text life;

void QuitarVida(int ouch)
{
vida -= ouch;

if(vida == 0)
{
SceneManager.LoadScene("GameOver");
}
}
void Update()
{
life.text = "" + vida;
}
}

1 respuesta

Respuesta
1

Yo para hacer eso utilizo "void OnTriggerEnter () { }"

Para ello debes hacer que el objeto con el que vas a colisionar sea trigger, seleccionando en su respectivo collider la opción "Is trigger".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas