Menu
CoddyTech

Recapitulação: Cão de guarda

Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 55 de 63.

challenge icon

Desafio

Médio

Um cão de guarda mantém estranhos longe de seu canil. Escreva o script Dog. O Inspector fornece player, kennel (o tapete vermelho em frente à casinha do cachorro), speed (3.5), guardRange (6) e bite (5). Os scripts Player e Health estão prontos: as teclas de seta empurram o jogador, e o Health do jogador tem um método público TakeDamage(int amount).

  • Enquanto o jogador estiver mais perto do canil do que guardRange, pelo chão, o cão corre em direção ao jogador. O alcance é medido a partir do canil, não do cão.
  • Caso contrário, o cão corre de volta para o canil e fica parado quando estiver a até 0.3 dele.
  • O cão corre definindo a velocidade do seu Rigidbody como speed pelo chão, mantendo sua velocidade em y.
  • Quando o cão esbarrar no jogador (marcado com a tag Player), o Health do jogador recebe 1 de dano, e o jogador recebe um impulso de bite diretamente para longe do cão, pelo chão.

Pressione Play e caminhe até o canil; em seguida, Check.

Experimente você mesmo

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()
    {
        // proteja o canil: persiga o jogador quando ele estiver perto ou volte para casa
    }
}

Todas as lições de Física e jogabilidade