Початок роботи з 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 інтерфейс скриптів універсальний і всі реалізації пристосовані до нього.

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

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

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

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

Most types of nodes and other types of objects in Godot contain virtual functions. These are functions that will be called (run your code) when something happens and can be looked up in the reference. Virtual functions are listed when pressing the "Override" icon in the member panel:

../../../_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

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