Menu
CoddyTech

Tekrar: Bekçi Köpeği

Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 55 / 63.

challenge icon

Görev

Orta

Bir bekçi köpeği yabancıları kulübesinden uzak tutar. Dog betiğini yaz. Inspector'da ona player, kennel (köpek kulübesinin önündeki kırmızı paspas), speed (3.5), guardRange (6) ve bite (5) verilir. Player ve Health betikleri hazır: ok tuşları oyuncuyu iter ve oyuncunun Health bileşeninde herkese açık bir TakeDamage(int amount) bulunur.

  • Oyuncu, yer düzleminde kulübeye guardRange değerinden daha yakınken köpek oyuncuya doğru koşar. Menzil köpekten değil, kulübeden ölçülür.
  • Aksi durumda köpek kulübeye geri koşar ve ona 0.3 birim yaklaştığında hareketsiz durur.
  • Köpek, Rigidbody'sinin hızını yer düzleminde speed değerine ayarlayarak koşar ve y hızını korur.
  • Köpek oyuncuya çarptığında (etiketi Player olan), oyuncunun Health bileşeni 1 hasar alır ve oyuncu, yer düzleminde, köpekten doğruca uzağa doğru bite büyüklüğünde bir Impulse alır.

Play'e basıp kulübeye doğru yürü, ardından Check'e bas.

Kendin dene

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()
    {
        // Köpek kulübesini koru: yakınındaki oyuncuyu kovala, yoksa eve dön
    }
}

Fizik ve Oynanış bölümündeki tüm dersler