Balas que impactan
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 56 de 71.
Desafío
IntermedioEscribe la bala: daña lo que tenga un componente Health y desaparece al chocar con lo que sea.
- En
Bullet, añadevoid OnCollisionEnter(Collision collision). - Dentro, en
if (collision.gameObject.TryGetComponent(out Health health)), llama ahealth.TakeDamage(damage);. - Después de ese
if, llama aDestroy(gameObject);, para que la bala también desaparezca al chocar con la pared.
Pulsa «Jugar» y dispara al muñeco de prueba y a la pared. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class Bullet : MonoBehaviour
{
[SerializeField] private int damage = 2;
// al impactar: causa daño a lo que tenga un componente Health y luego destruye la bala
}
Todas las lecciones de Física y jugabilidad
1Cuerpo rígido
Gravedad y masaEmpujar con AddForceSaltar con un impulsoFixedUpdate para físicaVelocidadCuerpos cinemáticosRepaso: plataforma de lanzamiento4Corrutinas
InvocarInvokeRepeating y CancelInvokeTu primera corrutinaBucles en corrutinasDetener corrutinasRepaso: cuenta regresiva10Proyecto: Escape de la arena
La arenaCazadores2Colisiones
OnCollisionEnter¿Qué golpeé?Romper al impactarDe pie sobre el sueloRebote y fricciónFormas de los collidersRepaso: muro destructible5Proyecto: Carrera de Monedas
La pelota rodanteMonedas para recoger3Disparadores
Colisionadores de tipo triggerOnTriggerEnterObjetos coleccionablesLas cajas guardan el restoZonas letalesEntrada y salidaRepaso: llave y puertaPractica por tu cuenta: Playground de Unity