Riepilogo: cane da guardia
Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 55 di 63.
Sfida
MedioUn 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
speedsul 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 dibitein 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
1Corpo rigido
Gravità e massaSpingi con AddForceSalta con un impulsoFixedUpdate per la fisicaVelocitàCorpi cinematiciRiepilogo: piattaforma di lancio4Coroutine
InvokeInvokeRepeating, CancelInvokeLa tua prima coroutineCicli nelle coroutineInterrompere le coroutineRiepilogo: conto alla rovescia2Collisioni
OnCollisionEnterCosa ho colpito?Rompersi all'impattoRestare a terraRimbalzo e attritoForme dei ColliderRiepilogo: muro distruttibile5Progetto: Corsa alle monete
La palla rotolanteMonete da raccogliere3Trigger
Collider di triggerOnTriggerEnterOggetti da raccogliereZone letaliEntrata e uscitaRiepilogo: chiave e porta6Raycast
Physics.RaycastRaycastHitControllo del terreno con un RayLayer e LayerMaskLinea di vistaOverlapSphere e SphereCastRiepilogo: filo laser9Nemici
Insegui il giocatoreInsegui nel raggioPattuglia e inseguiSalute e danniContraccolpoRiepilogo: cane da guardia