УРОК 1 ИЗ 4 · 45–60 МИНУТ

Секретная дверь

Наступи на жёлтую кнопку — синяя дверь исчезнет и откроет путь к финишу.

Иллюстрация проекта Roblox
Что получится: Наступи на жёлтую кнопку — синяя дверь исчезнет и откроет путь к финишу. Всё можно сделать самостоятельно по шагам и сверить с готовым примером.
Готовый проект для проверки

Скачай файл, затем открой его в Roblox Studio через File → Open from File. Он уже содержит все детали и скрипты урока.

Скачать .rbxlx ↓

Шаг 1 · Открой редактор и найди нужные окна

  1. Открой Roblox Studio. На стартовой странице выбери Templates → Baseplate. Если появится обучающая подсказка, закрой её крестиком.
  2. На верхней вкладке Home нажми Explorer и Properties. Справа появятся список объектов и свойства выбранного объекта.
  3. Для первого знакомства открой готовый пример через File → Open from File и выбери скачанный файл ниже. Посмотри сцену, затем создай свою карту из шаблона Baseplate.
Реальный экран Roblox Studio: сверху кнопки Part, Explorer и Properties; справа — детали внутри Workspace.
Реальный экран Roblox Studio: сверху кнопки Part, Explorer и Properties; справа — детали внутри Workspace. Открыть крупно ↗

Размеры и расположение деталей

В Roblox числа идут по осям X, Y, Z. Size и Position меняются в Properties.

Имя в ExplorerSize (X, Y, Z)Position (X, Y, Z)Что это
Baseplate52, 1, 140, -0.5, 0Длинная тёмная дорожка
SpawnLocation6, 1, 6-18, 0.5, 0Место появления игрока
Button4, 0.5, 4-5, 0.25, 0Жёлтая кнопка; Anchored включён
Door1, 8, 67, 4, 0Синяя дверь; Anchored и CanCollide включены
LeftWall1, 8, 47, 4, -5Стенка слева от двери
RightWall1, 8, 47, 4, 5Стенка справа от двери
Finish7, 0.3, 718, 0.15, 0Бирюзовый финиш

Шаг 2 · Построй дорожку, кнопку и дверь

  1. В Explorer щёлкни Baseplate. В Properties найди Size и Position и задай значения из таблицы ниже. Числа записываются по порядку X, Y, Z.
  2. Чтобы добавить деталь, нажми Home → Part. Выдели новую Part и в Properties поменяй Name, Size, Position. Повтори для Button, Door, двух стенок и Finish.
  3. Выделяй новые детали по одной. На вкладке Home включи Anchor, чтобы они не падали. Кнопку покрась в жёлтый цвет через Color, дверь — в синий. Для остальных цветов подойдут любые заметные оттенки.
  4. Выдели Door. В Properties проверь: Transparency = 0 и CanCollide включён. До нажатия кнопки дверь должна быть видимой и твёрдой.
Выделена Door. Справа открыт Properties — здесь меняют имя, размер, положение, прозрачность и столкновения.
Выделена Door. Справа открыт Properties — здесь меняют имя, размер, положение, прозрачность и столкновения. Открыть крупно ↗

Шаг 3 · Добавь скрипт в кнопку

  1. В Explorer наведи курсор на Button, нажми появившийся «+» и выбери Script. Если плюс не виден, щёлкни Button правой кнопкой → Insert Object → Script.
  2. Назови скрипт OpenDoor. Дважды щёлкни его, удали начальный текст и вставь код ниже. Важно: Script должен находиться внутри Button.
Вкладка OpenDoor показывает код. В Explorer видно, что Script лежит внутри Button.
Вкладка OpenDoor показывает код. В Explorer видно, что Script лежит внутри Button. Открыть крупно ↗
Luau
local button = script.Parentlocal door = workspace.Doorlocal function openDoor(otherPart)    local character = otherPart.Parent    if character:FindFirstChild("Humanoid") then        door.Transparency = 1        door.CanCollide = false    endendbutton.Touched:Connect(openDoor)

Как работает код

  • local запоминает объект под коротким именем. script.Parent — это кнопка, в которой лежит скрипт.
  • Touched срабатывает, когда что-то касается кнопки. if проверяет, что это персонаж с Humanoid, а не случайная деталь.
  • Transparency = 1 прячет дверь. CanCollide = false разрешает пройти сквозь место, где она стояла.

Шаг 4 · Запусти и проверь

  1. Сверху нажми Play ▶. Поверни камеру мышью к жёлтой кнопке и иди к ней клавишами W, A, S, D. После касания синяя дверь должна исчезнуть; пройди к бирюзовому финишу.
  2. Нажми красный Stop ■, чтобы вернуться в редактор. Сохрани свою работу через File → Save to File. Готовый пример можно снова открыть для сравнения.
Проверка в Play: персонаж стоит на кнопке, синяя дверь исчезла, проход открыт.
Проверка в Play: персонаж стоит на кнопке, синяя дверь исчезла, проход открыт. Открыть крупно ↗

Проверь себя

  • В Explorer есть Button и Door с точно такими именами.
  • OpenDoor находится внутри Button.
  • До касания дверь видна, после касания сквозь неё можно пройти.

Задание со звёздочкой: Замени Transparency = 1 на 0.5. Станет ли дверь полупрозрачной? Почему важно оставить CanCollide = false?

Если что-то не работает

  • Дверь не открывается: проверь написание Door, Button и Touched; Script должен быть обычным Script внутри Button.
  • Дверь исчезла, но пройти нельзя: проверь строку door.CanCollide = false.
  • Детали падают: включи Anchored. Ошибку кода можно посмотреть в Output через Window → Output.
Подсказка преподавателю

На занятии начните с готового файла: пусть дети назовут кнопку, дверь и финиш. Затем предложите собрать свои детали и ввести скрипт. Главная мысль: событие запускает функцию, условие отличает игрока от других деталей, свойства меняют мир. На разборе спросите, почему одной прозрачности мало.