Комната побега
Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 70 из 71.
Комната-головоломка с кодовым замком. На полу лежат три серые нажимные плиты, а дверь в северной стене открывается только тогда, когда игрок наступает на них в правильном порядке: плита 1, плита 2, плита 3. Ничто в комнате не подсказывает, какая плита какая. Если наступить не на ту плиту, последовательность начинается заново, и все плиты на секунду вспыхивают красным. Открытая дверь остается открытой несколько секунд, а затем снова закрывается, но никогда не закрывается на игроке: пока игрок стоит в дверном проеме, дверь ждет.
Скрипт Player готов: стрелки перемещают игрока, у которого задан тег Player и который находится на слое Player. Напиши два скрипта: Plate для каждой плиты и CodeLock для замка.
Задание
СложноСвяжи пластины с кодом: 1, 2, 3.
- В
Plate, когда входитPlayer, вызовиcodeLock.Press(number);. - В
Press, сint next = 1: при совпадении выведи в журнал"Plate " + numberи прибавь 1; после 3 выведи в журналUnlockedи сбросьnext. - Иначе выведи в журнал
Wrong plate, сбросьnextи запусти корутину: установи для пластинColor.red, подожди 1 секунду, затем установиColor.gray.
Нажми «Играть» и найди порядок. Затем нажми «Проверить».
Попробуйте сами
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)
{
// проверить код; мигнуть пластинами при неверном вводе; открыть дверь после пластины 3
}
}
Все уроки раздела Физика и игровой процесс
1Твёрдое тело
Гравитация и массаТолкаем с помощью AddForceПрыжок с импульсомFixedUpdate для физикиСкоростьКинематические телаПовторение: пусковая площадка4Корутины
InvokeInvokeRepeating, CancelInvokeВаша первая корутинаЦиклы в корутинахОстановка корутинПовторение: обратный отсчёт10Проект: Побег с арены
АренаОхотники2Столкновения
OnCollisionEnterВо что я попал?Разрушение при столкновенииСтояние на землеОтскок и трениеФормы коллайдеровПовторение: разрушаемая стена5Проект: Монетная гонка
Катящийся шарСобираем монетыПотренируйтесь самостоятельно: Песочница Unity