Початок роботи з Visual Scripting

Як і у всьому, що є в Godot, ми надаємо пріоритет хорошому досвіду, а не копіюванню, або інтеграції, сторонніх рішень, які можуть не вписуватися в поточний робочий процес. Це змусило нас написати власну версію функції оптимізованої для якнайкращої роботи з движком.

Visual Script у Godot легко поєднується разом із звичайними скриптами на вкладці Редактора

../../../_images/visual_script1.png

Насправді Visual Scripting так добре інтегрований в Godot, що важко повірити, що він був доданий лише у версії 3.0. Це тому, що під час редагування, решта панелей і вкладок Godot, діють як палітра, з якої можна перетягувати всі види інформації на полотно скрипту:

../../../_images/visual_script2.png

Створення скрипту

Створення скриптів відбувається так само, як і з іншими мовами скриптів: Виберіть будь-який вузол на сцені та натисніть кнопку "Новий скрипт" у верхньому правому куті панелі Сцена:

../../../_images/visual_script3.png

Як тільки відкриється меню створення скрипту виберіть тип скрипту "Visual Script". Розширення скрипту має бути ".vs" (від Visual Script!).

../../../_images/visual_script4.png

Нарешті, відкриється редактор скриптів, який дозволить почати редагування візуального скрипту:

../../../_images/visual_script5.png

Додавання функції

На відміну від інших візуальних скриптів, Visual Scripting в Godot в основному базується на функціях. Це відбувається тому, що він використовує той самий інтерфейс для зв'язку з движком, що й інші движки скриптів. У Godot інтерфейс скриптів універсальний і всі реалізації пристосовані до нього.

Функція - це індивідуальне полотно з підключеними вузлами.

Один скрипт може містити безліч функцій, кожна з яких матиме власне полотно, що забезпечує більшу організацію.

Існує три основні способи додавання функцій у скрипт:

Перевизначення наявної вбудованої функції

Більшість типів вузлів, та інших типів об'єктів, у Godot містять віртуальні функції. Це функції, які будуть викликані (роботою вашого коду), коли щось станеться, і їх можна знайти в характеристиках. Ці функції перераховуються при натисканні піктограми «Перевизначити» на панелі елементів:

../../../_images/visual_script6.png

У наступному прикладі функція буде виконуватися, коли вузол завантажується та додається до запущеної сцени. Для цього буде замінено віртуальний метод _ready():

../../../_images/visual_script7.png

Нарешті, з’являється полотно для цієї функції із зазначенням назви перевизначеної функції:

../../../_images/visual_script8.png

Деякі функції очікують, що ви повернете якесь значення, такі функції при створення додадуть вузол повернення:

../../../_images/visual_script9.png

Підключення сигналу до функції

Вузли з дерева випромінюють сигнали, коли щось відбувається. Godot використовує сигнали для найрізноманітніших речей. Типовим прикладом може бути кнопка, яка видає сигнал "натиснуто" при фактичному натисканні.

Для цього потрібно вибрати вузол і відкрити вкладку Вузол. Це дозволить перевірити сигнали. Після їх відображення підключіть сигнал "натиснуто" ("pressed"):

../../../_images/visual_script10.png

Це відкриє діалогове вікно підключення. У цьому діалоговому вікні потрібно вибрати вузол, до якого буде підключений сигнал, і функцію, яка прийме сигнал:

../../../_images/visual_script11.png

Якщо це зробити правильно, в нашому скрипті буде створена нова функція, і сигнал автоматично буде підключений до неї:

../../../_images/visual_script12.png

Створення функції вручну

Останній спосіб створення функцій - це зробити її вручну. Це не самий поширений спосіб, його використовують тільки при нагальній потребі. Власні функції працюють, коли інший (або той самий) скрипт викликає їх вручну. В основному їх використовують для розбиття більшої функції на кілька керованих фрагментів та повторного використання вашого візуального коду.

Щоб створити функцію вручну, натисніть велику кнопку "Плюс", і нова функція буде додана з назвою за замовчуванням:

../../../_images/visual_script13.png

ЇЇ можна перейменувати, просто двічі клацнувши на ім'я:

../../../_images/visual_script14.png

Щоб відредагувати "аргументи", які може отримати ця функція (значення, які ви їй передаєте, коли викликаєте), просто натисніть на вузол функцій і перевірте інспектора:

../../../_images/visual_script15.png

Більше про це далі в цьому документі.