Menu
CoddyTech

Podsumowanie: laserowa bariera

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

To podsumowanie łączy w całość rozdział: raycast, który widzi tylko niektóre warstwy, to, co trafił, oraz wartość bool, która zapamiętuje poprzednią klatkę, dzięki czemu alarm uruchamia się tylko raz.

challenge icon

Wyzwanie

Średni

Chroń skarbiec za pomocą laserowej bariery.

  1. W każdej klatce wywołuj Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, range, intruders).
  2. Ustaw kolor lamp.material.color na Color.red, gdy wiązka trafia w przeszkodę, a na Color.green, gdy niczego nie wykrywa.
  3. Zapisuj "Alarm: " + hit.collider.name tylko wtedy, gdy wiązka przechodzi ze stanu wolnego do zablokowanego: przechowuj wynik z poprzedniej klatki w polu bool blocked.

Naciśnij „Graj” i przejdź przez wiązkę: za każdym razem uruchomi się jeden alarm. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class Tripwire : MonoBehaviour
{
    public LayerMask intruders;
    public Renderer lamp;
    public float range = 6f;

    void Update()
    {
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Fizyka i rozgrywka

Poćwicz samodzielnie: Edytor online Unity