Pociski, które trafiają
Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 56 z 71.
Wyzwanie
ŚredniNapisz kod pocisku: zadaje obrażenia obiektom mającym komponent Health i znika po trafieniu w cokolwiek.
- W klasie
Bulletdodaj metodęvoid OnCollisionEnter(Collision collision). - Wewnątrz niej, w instrukcji
if (collision.gameObject.TryGetComponent(out Health health)), wywołajhealth.TakeDamage(damage);. - Po tej instrukcji
ifwywołajDestroy(gameObject);, aby pocisk znikał również po trafieniu w ścianę.
Naciśnij „Graj” i strzel do manekina oraz ściany. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Bullet : MonoBehaviour
{
[SerializeField] private int damage = 2;
// przy trafieniu: zadaj obrażenia obiektowi, który ma Health, a następnie zniszcz pocisk
}
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 drzwi6Raycasty
Physics.RaycastRaycastHitSprawdzanie podłoża za pomocą promieniaWarstwy i LayerMaskLinia widzeniaOverlapSphere i SphereCastPodsumowanie: laserowa bariera9Wrogowie
Gonienie graczaPościg w zasięguPatrol i pościgZdrowie i obrażeniaPociski, które trafiająOdrzutPodsumowanie: Pies stróżującyPoćwicz samodzielnie: Edytor online Unity