Menu
CoddyTech

Riepilogo: cane da guardia

Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 55 di 63.

challenge icon

Sfida

Medio

Un cane da guardia tiene gli estranei lontani dalla sua cuccia. Scrivi lo script Dog. L’Inspector gli assegna player, kennel (il tappetino rosso davanti alla cuccia), speed (3.5), guardRange (6) e bite (5). Gli script Player e Health sono pronti: le frecce spingono il giocatore e la sua Health ha un metodo pubblico TakeDamage(int amount).

  • Quando il giocatore è più vicino alla cuccia di guardRange, misurato sul terreno, il cane corre verso il giocatore. La distanza viene misurata dalla cuccia, non dal cane.
  • Altrimenti il cane torna di corsa alla cuccia e si ferma quando si trova entro 0.3 da essa.
  • Il cane corre impostando la velocità del suo Rigidbody a speed sul terreno, mantenendo la velocità y.
  • Quando il cane urta il giocatore (con tag Player), la Health del giocatore subisce 1 danno e il giocatore riceve un impulso di bite in direzione opposta al cane, sul terreno.

Premi Play e avvicinati alla cuccia, poi premi Check.

Provalo tu

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()
    {
        // sorveglia il kennel: insegui player quando è vicino, oppure torna a casa
    }
}

Tutte le lezioni di Fisica e gameplay