Menu
CoddyTech

Repaso: perro guardián

Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 55 de 63.

challenge icon

Desafío

Intermedio

Un 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 guardRange de 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 speed a 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 de bite directamente 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