Урок 3: Створення перешкоди з лазером
На цьому уроці ти створиш свою першу перешкоду з лазерами у Roblox. Ми розглянемо функцію, умовні конструкції, а також познайомимося з Humanoid. Навчимося наносити урон гравцеві за допомогою коду.
Сьогодні ти навчишся:
- працювати з функцією та умовними конструкціями;
- познайомишся з Humanoid і командою пошуку;
- створювати змінні у скрипті;
- реалізовувати нанесення шкоди гравцеві;
- створювати перешкоду з лазерами за допомогою коду.
Готовий/готова? Тоді починаємо працювати в Roblox Studio!
Прототип для перешкоди
Обираємо прототип
- За допомогою інструменту Select обираємо прототип перешкоди.
- У Explorer знаходимо батьківську папку, якій належить дана перешкода.
- Натискаємо правою клавішею миші по обраній папці та обираємо Duplicate.
- За допомогою інструменту Move переміщуємо здубльовану перешкоду.
Видалення зайвих елементів
- За допомогою інструменту Select обираємо шипи або елементи, які заважають.
- Натискаємо правою клавішею миші по обраному елементу.
- Обираємо команду Delete.
Зміна кольору та матеріалу
Змінюємо колір
- Клікаємо по блоку, щоб обрати його.
- Переходимо до вікна налаштувань Properties.
- Обираємо параметр Color та змінюємо його.
- Після вибору кольору натискаємо OK.
Змінюємо матеріал
- Клікаємо по блоку, щоб обрати його.
- Переходимо до Toolbar та відкриваємо Material Manager.
- Обираємо відповідну текстуру.
Створення лазера
Створення та налаштування лазера
- Переходимо до Toolbar та відкриваємо випадаючий список Part.
- Обираємо фігуру Cylinder.
- Щоб перемістити лазер, використовуємо інструмент Move.
- Щоб змінити розмір лазера, використовуємо інструмент Scale.
- Щоб обертати лазер, використовуємо інструмент Rotate.
Переміщення лазера до перешкоди
- Знаходимо заготовлену папку перешкоди в Workspace.
- Затискаємо ліву клавішу мишки на Cylinder.
- Перетягуємо Cylinder у папку з перешкодою.
Перейменування перешкоди
- Обираємо фігуру Cylinder у папці з перешкодою.
- У розділі Properties знаходимо поле Name.
- Змінюємо значення в полі Name на Laser.
Створення скрипта для лазера
- Натисніть на лазер на сцені, щоб виділити його.
- У вікні Explorer знайдіть виділений лазер і наведіть на нього курсор.
- Натисніть на кнопку + та у випадаючому списку виберіть Script.
- Відкриється вікно коду. Видаліть увесь стандартний код за допомогою клавіші Del на клавіатурі.
- У вікні Explorer оберіть створений скрипт і у вікні Properties змініть значення поля Name на LaserScript.
Здійснення пошуку гравця
function Damage(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
end
script.Parent.Touched:Connect(Damage)
FindFirstChild(“ім’я об’єкта пошуку“) – це метод, який шукає серед дочірніх елементів об’єкт із вказаним іменем і повертає його, якщо такий знайдено.
Humanoid – це компонент, який надає об’єкту (персонажу) характеристики, подібні до людини: здатність рухатися, мати здоров’я, виконувати анімації тощо.
Пошук Humanoid за допомогою конструкції if
function Damage(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid ~= nil then
end
end
script.Parent.Touched:Connect(Damage)
Умова (умовна конструкція) — це конструкція, яка дозволяє виконувати різні блоки коду залежно від того, чи є умова істинною або хибною.
if — це команда, яка перевіряє умову. Якщо умова істинна, виконується код, розташований між then і end.
Структура
if умова then
-- код, який виконається, якщо умова істинна
end
then – вказує на початок блоку коду, який буде виконано, якщо умова істинна.
end – завершує умовну конструкцію та показує, де закінчується пов’язаний з нею блок коду.
~= — це оператор порівняння, який означає «не дорівнює».
nil — це спеціальне значення, яке означає відсутність значення або порожнє значення.
Нанесення урону
function Damage(hit)
local humanoid = hit.Parent:FindFirstChild("Humanoid")
if humanoid ~= nil then
humanoid:TakeDamage(100)
end
end
script.Parent.Touched:Connect(Damage)
- Клікніть по блоку, щоб обрати його.
- Увімкніть Anchor, щоб блок не падав під дією фізики.
TakeDamage() — це метод у Roblox Studio, який використовується для зменшення здоров’я об’єкта Humanoid.
Як це працює humanoid:TakeDamage(число)
Створення смуги перешкод
- Клікніть по лазеру, щоб обрати його.
- Натисніть правою клавішею миші по лазеру.
- Оберіть команду Duplicate.
- Щоб перемістити лазер, використайте інструмент Move.
- Щоб змінити розмір лазеру, використайте інструмент Scale.
Що буде в наступному уроці?
У наступному уроці ти дізнаєшся, як створювати динамічні містки у Roblox та працювати зі зміною властивостей об’єктів через код.
Попереду багато цікавого — не пропусти!