🎮

События в Roblox скриптинге

Aug 5, 2024

Руководство по начальной скриптингу в Roblox: События

Введение

  • Ведущий: Balev
  • Тема: События в скриптинге Roblox
  • Аналогия: Празднование дня рождения как пример срабатывания событий.

Концепция событий

  • События — это действия, происходящие в результате других действий.
  • Пример: Открытие двери запускает празднование.

Настройка событий

  1. Отключите предыдущий скрипт: Отключите скрипт, созданный в прошлом эпизоде.
  2. Создайте новый скрипт:
    • Вставьте новый скрипт в Workspace.
    • Переименуйте его в events.
    • Удалите дефолтный код.

Общие встроенные события в Roblox

Событие добавления игрока

  • Определение: Срабатывает, когда игрок присоединяется к серверу.
  • Расположение: Находится в папке Players модели данных игры.
  • Реализация кода: game.Players.PlayerAdded:Connect(function(player) print("К игре присоединился новый игрок.") print(player) end)
  • Объяснение:
    • PlayerAdded обозначается символом молнии.
    • Connect связывает событие с функцией, которая выполняется при его срабатывании.

Альтернативный синтаксис функции

  • Определение функции: local function PlayerAdded(player) print("К игре присоединился новый игрок.") print(player) end
  • Подключение функции: game.Players.PlayerAdded:Connect(PlayerAdded)

Второе распространенное событие: Touched

  • Определение: Срабатывает, когда часть касается другой части.
  • Настройка:
    • Вставьте новую часть в Workspace, переименуйте её в TouchPart и установите свойство Anchored, чтобы предотвратить падение из-за гравитации.
  • Реализация кода: local touchPart = game.Workspace.TouchPart touchPart.Touched:Connect(function(otherPart) print(otherPart.Name) end)
  • Объяснение:
    • Определяет, какая часть касается TouchPart.

Добавление дебаунса к событиям касания

  • Определение дебаунса: Метод, предотвращающий многократное срабатывание события в короткий период.
  • Шаги реализации:
    1. Инициализируйте логическую переменную для отслеживания состояния касания: local partIsTouched = false
    2. Проверьте, коснулась ли часть: if not partIsTouched then partIsTouched = true -- Вывод на печать здесь end
    3. Введите задержку с task.wait(): task.wait(2) partIsTouched = false
  • Результат: Событие будет срабатывать только раз в две секунды.

Заключение

  • Поощрите студентов экспериментировать с событиями Touched и PlayerAdded.
  • Предложите изменить цвета частей при касании или использовать данные игрока в скриптах.
  • Попросите студентов поделиться своим кодом в комментариях.

  • Следующий эпизод: Больше техник скриптинга и использования событий.