Menu
CoddyTech

Podsumowanie: pies stróżujący

Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 55 z 63.

challenge icon

Wyzwanie

Średni

Pies stróżujący nie pozwala obcym zbliżyć się do swojej budy. Napisz skrypt Dog. Inspector przypisuje mu player, kennel (czerwoną matę przed budą), speed (3.5), guardRange (6) i bite (5). Skrypty Player i Health są gotowe: strzałki wprawiają gracza w ruch, a jego Health ma publiczną metodę TakeDamage(int amount).

  • Gdy gracz znajduje się bliżej budy niż wynosi guardRange, mierzone w poziomie, pies biegnie w jego stronę. Zasięg jest mierzony od budy, a nie od psa.
  • W przeciwnym razie pies biegnie z powrotem do budy i zatrzymuje się, gdy znajdzie się w odległości 0.3 od niej.
  • Pies biegnie, ustawiając prędkość swojego Rigidbody na speed w poziomie i zachowując prędkość w osi y.
  • Gdy pies zderzy się z graczem (z tagiem Player), jego Health otrzymuje 1 punkt obrażeń, a gracz dostaje Impulse o wartości bite, skierowany poziomo w stronę przeciwną do psa.

Naciśnij Play i podejdź do budy, a następnie naciśnij Check.

Spróbuj swoich sił

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()
    {
        // pilnuj budy: ścigaj gracza, gdy jest w pobliżu, albo wracaj do budy
    }
}

Wszystkie lekcje w sekcji Fizyka i rozgrywka