Ukąszenie łowców
Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 63 z 71.
Wyzwanie
ŚredniSpraw, by łowcy atakowali i odrzucali gracza.
- W
Hunterdodaj[SerializeField] private float knockback = 12f;orazvoid OnCollisionEnter(Collision collision). - Wewnątrz, gdy
collision.gameObject.TryGetComponent(out Health health)zwróci prawdę, wywołajhealth.TakeDamage(1);. - Następnie odepchnij gracza:
awayod łowcy w kierunku gracza, ustaw y na 0, a potem użyjcollision.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
1Ciało sztywne
Grawitacja i masaPopychanie za pomocą AddForceSkok z impulsemFixedUpdate dla fizykiPrędkośćCiała kinematycznePowtórka: platforma startowa4Korutyny
WywoływanieInvokeRepeating i CancelInvokeTwoja pierwsza korutynaPętle w korutynachZatrzymywanie korutynPodsumowanie: odliczanie10Projekt: Ucieczka z areny
ArenaŁowcy2Kolizje
OnCollisionEnterW co uderzyłem?Rozbijanie przy zderzeniuStanie na podłożuOdbicie i tarcieKształty colliderówPodsumowanie: Zniszczalny mur5Projekt: Wyścig po monety
Tocząca się piłkaZbieranie monet3Wyzwalacze
Kolizje wyzwalająceOnTriggerEnterPrzedmioty do zebraniaSkrzynie zatrzymują resztęStrefy śmierciWejście i wyjściePodsumowanie: klucz i drzwiPoćwicz samodzielnie: Edytor online Unity