Pokój zagadek
Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 70 z 71.
Pokój zagadek z zamkiem szyfrowym. Na podłodze leżą trzy szare płyty naciskowe, a drzwi w północnej ścianie otwierają się tylko wtedy, gdy gracz stanie na nich we właściwej kolejności: płyta 1, płyta 2, płyta 3. W pokoju nie ma żadnej wskazówki, która płyta jest która. Nadepnięcie na niewłaściwą płytę rozpoczyna kod od początku i sprawia, że wszystkie płyty na sekundę migają na czerwono. Otwarte drzwi pozostają otwarte przez kilka sekund, a potem znów się zamykają, ale nigdy na graczu: gdy gracz stoi w przejściu, drzwi czekają.
Skrypt Player jest gotowy: strzałki poruszają graczem, który ma tag Player i znajduje się na warstwie Player. Napisz dwa skrypty: Plate dla każdej płyty oraz CodeLock dla zamka.
Wyzwanie
TrudnyPołącz płytki z kodem: 1, 2, 3.
- W
Plate, gdy pojawi sięPlayer, wywołajcodeLock.Press(number);. - W
Press, zint next = 1: zgodność zapisuje w logu"Plate " + numberi zwiększa wartość o 1; po 3 zapisz w loguUnlockedi zresetujnext. - Else zapisz w logu
Wrong plate, zresetujnexti uruchom korutynę: płytki przyjmują kolorColor.red, odczekaj 1 sekundę, a następnie ustawColor.gray.
Naciśnij „Graj” i znajdź kolejność. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using System.Collections;
using UnityEngine;
public class CodeLock : MonoBehaviour
{
[SerializeField] private Renderer[] plates;
[SerializeField] private GameObject door;
[SerializeField] private Transform doorway;
[SerializeField] private float openTime = 4f;
public void Press(int number)
{
// sprawdź kod; przy błędnym kodzie spraw, by plates zamigały; otwórz door po plate 3
}
}
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