Menu
CoddyTech

Ukąszenie łowców

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

challenge icon

Wyzwanie

Średni

Spraw, by łowcy atakowali i odrzucali gracza.

  1. W Hunter dodaj [SerializeField] private float knockback = 12f; oraz void OnCollisionEnter(Collision collision).
  2. Wewnątrz, gdy collision.gameObject.TryGetComponent(out Health health) zwróci prawdę, wywołaj health.TakeDamage(1);.
  3. Następnie odepchnij gracza: away od łowcy w kierunku gracza, ustaw y na 0, a potem użyj collision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.

Naciśnij „Graj” i sprawdź, jak długo dasz radę przetrwać. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class Hunter : MonoBehaviour
{
    [SerializeField] private float speed = 3f;
    private Rigidbody rb;
    private Transform player;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        player = GameObject.FindWithTag("Player").transform;
    }

    void FixedUpdate()
    {
        Vector3 toPlayer = player.position - rb.position;
        toPlayer.y = 0f;
        Vector3 dir = toPlayer.normalized;
        rb.linearVelocity = new Vector3(dir.x * speed, rb.linearVelocity.y, dir.z * speed);
    }
}

Wszystkie lekcje w sekcji Fizyka i rozgrywka

Poćwicz samodzielnie: Edytor online Unity