Repaso: perro guardián
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 55 de 63.
Desafío
IntermedioUn perro guardián mantiene a los desconocidos alejados de su perrera. Escribe el script Dog. El Inspector le asigna player, kennel (la alfombrilla roja delante de la caseta del perro), speed (3.5), guardRange (6) y bite (5). Los scripts Player y Health están listos: las flechas empujan al jugador y la Health del jugador tiene un método público TakeDamage(int amount).
- Mientras el jugador esté a una distancia menor que
guardRangede la perrera, a través del suelo, el perro corre hacia el jugador. El rango se mide desde la perrera, no desde el perro. - De lo contrario, el perro vuelve corriendo a la perrera y se queda quieto cuando está a menos de 0.3 de ella.
- El perro corre ajustando la velocidad de su Rigidbody a
speeda través del suelo, manteniendo su velocidad en y. - Cuando el perro choca con el jugador (etiquetado
Player), la Health del jugador recibe 1 de daño y el jugador recibe un impulso debitedirectamente alejándose del perro, a través del suelo.
Pulsa Play y acércate a la perrera; después, pulsa Check.
Pruébalo tú mismo
using UnityEngine;
public class Dog : MonoBehaviour
{
[SerializeField] private Transform player;
[SerializeField] private Transform kennel;
[SerializeField] private float speed = 3.5f;
[SerializeField] private float guardRange = 6f;
[SerializeField] private float bite = 5f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// vigila la perrera: persigue al jugador si está cerca de ella o vuelve a casa
}
}
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 lanzamiento2Colisiones
OnCollisionEnter¿Qué golpeé?Romper al impactarDe pie sobre el sueloRebote y fricciónFormas de los collidersRepaso: muro destructible5Proyecto: Carrera de monedas
La bola rodanteMonedas para recoger3Disparadores
Colisionadores de disparadorOnTriggerEnterObjetos coleccionablesZonas de muerteEntrada y salidaRepaso: llave y puerta6Raycasts
Physics.RaycastRaycastHitComprobación del suelo con un rayoCapas y LayerMaskLínea de visiónOverlapSphere y SphereCastRepaso: cable trampa láser9Enemigos
Persigue al jugadorPersigue dentro del alcancePatrullar y perseguirSalud y dañoRetrocesoRepaso: perro guardián