Следуя описанным ниже действиям, вы сможете научиться создать, запускать, редактировать и устранять неполадки в программе на языке Verse, которая выводит сообщение "Hello, world!" в Unreal Editor для Fortnite (UEFN).
Инструкции к самым первым шагам в UEFN описаны на странице Запуск Unreal Editor для Fortnite.
Ваша первая программа на языке Verse
Шаблон VKT — стартовый пакет игр с Verse-устройствами позволяет ознакомиться с устройствами, созданными с помощью Verse, и содержит несколько устройств, которые можно использовать в качестве примера. Выполнив следующие действия, вы создадите и измените новое устройство Verse в данном шаблоне.
Выберите Демонстрация возможностей в окне Каталог ресурсов, чтобы просмотреть все примеры возможностей в UEFN.
Выберите Устройство Verse в разделе «Демонстрация возможностей».
Введите название проекта MyVerseProject в поле Название проекта внизу экрана и нажмите Создать.
В строке меню выберите Verse > Проводник Verse.
В проводнике Verse нажмите правой кнопкой мыши по названию вашего проекта и выберите Добавить новый файл Verse в проект, чтобы открыть окно Создать сценарий Verse.
В окне «Создать сценарий Verse» нажмите на Устройство Verse, чтобы выбрать его в качестве шаблона, а затем нажмите на Создать.
В строке меню выберите Verse > Собрать код Verse, чтобы в папке проекта появилось новое устройство Verse.
Перейдите в папку своего проекта в Каталоге ресурсов.
Если Каталог ресурсов ещё не запущен, нажмите Окно в строке меню, затем выберите Каталог ресурсов или Панель ресурсов в левом нижнем углу окна UEFN.
Путь к папке: Все > Мой проект Verse > hello_world_device.
Нажмите и перетащите hello_world_device на уровень.
Нажмите Запуск сеанса на панели инструментов, чтобы протестировать остров в игре.
Нажмите на изображение, чтобы увеличить его.
Нажмите Сохранить выбранное в окне Сохранение ресурсов, чтобы сохранить изменения, внесённые в проект.
После того как сервер загрузит проект, откройте главное меню и нажмите Запустить игру.
Нажмите Escape в клиенте, чтобы открыть экран главного меню, и выберите Настройки острова. Затем нажмите Журнал на верхней панели навигации, чтобы просмотреть его.
Найдите в журнале строку `"Hello, world!"`, под которой находится ещё одна строка с текстом `"2 + 2 = 4"`. Эти строки записаны в результате выполнения файла hello_world_device.verse. Вы добавили устройство Verse на уровень, и его код запустился одновременно с запуском игры.
Вы запустили свою первую программу на Verse, теперь давайте откроем код в hello_world_device.verse и внесём в него изменения. Для выполнения действий из следующего раздела не закрывайте клиент.
Изменение программы
Выполните следующие действия, чтобы открыть файл hello_world_device.verse, с помощью которого было создано устройство из предыдущего раздела, а затем добавьте в код новую строку.
Выберите Verse > Проводник Verse в строке меню, чтобы просмотреть все файлы Verse проекта.
Чтобы открыть файл, дважды нажмите на hello_world_device.verse под названием своего проекта.
Файл Verse откроется в Visual Studio Code (VS Code), редакторе для написания программ. Если на вашем компьютере не установлен этот редактор, появится всплывающее сообщение с предложением установить его.
Нажмите на изображение, чтобы увеличить его.
Расширение Verse — это расширение для VS Code, которое обеспечивает проверку ошибок и подсветку синтаксиса Verse, а также позволяет компилировать и отправлять изменения в сценарии Verse непосредственно из VS Code.
Расширение Verse, входящее в состав UEFN, является единственным официально поддерживаемым расширением языка Verse. Это расширение включается автоматически при запуске UEFN. Если вы удалите расширение, оно будет установлено повторно при повторном запуске UEFN.
Вы можете убедиться, что расширение для кода Verse установлено, если в верхней части окна VS Code появились кнопки Editor Focus (Выделить в редакторе), Build Verse Changes (Изменения сборки Verse) и Push Verse Change (Применить изменения в коде Verse).
Нажмите на изображение, чтобы увеличить его.
Позже мы объясним, как работает остальная часть кода. Для начала скажем, что любой код, который вы вводите ниже строки OnBegin<override>()<suspends>:void=, будет выполнен при запуске игры. Добавьте следующий код в конец файла:
Print("This is my first line of Verse code!")
Теперь файл Verse должен выглядеть следующим образом:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
# A Verse-authored creative device that can be placed in a level
hello_world_device := class(creative_device):
# Runs when the device is started in a running game
Любой текст после символа # считается комментарием к коду и игнорируется компьютером при выполнении программы. Поясняющие комментарии к коду важны и для вас, и для других людей, пытающихся разобраться в коде. В данном примере комментариями к коду являются # Runs when the device is started in a running game и #TODO: Replace this with your code.
Сохранение изменений
Сохраните файл hello_world_device.verse в Visual Studio Code.
На панели инструментов UEFN выберите Verse, а затем Создать сценарии Verse, чтобы скомпилировать код.
Нажмите на изображение, чтобы увеличить его.
После успешной компиляции на кнопке Verse появится зелёная галочка. Если во время компиляции возникнут проблемы, появится красный значок остановки. Вы не сможете скомпилировать код, пока не устраните все ошибки. В этом случае см. Устранение ошибок в коде для получения советов по исправлению кода.
Нажмите на изображение, чтобы увеличить его.
По завершении компиляции кода на панели инструментов UEFN появятся кнопки Применить изменения и Применить изменения Verse. Применить изменения вносит в клиент все изменения, сделанные вами в редакторе, например добавление и удаление объектов окружения, изменение свойств объектов, а также любые изменения, внесённые в код Verse. Команда Применить изменения Verse обновляет только код Verse и выполняется быстрее, чем Применить изменения. Это удобно в случаях, когда вы вносите небольшие поэтапные изменения в код, не обновляя текущий сеанс. Нажмите Применить изменения Verse, чтобы обновить клиент.
Нажмите на изображение, чтобы увеличить его.
После того как сервер загрузит проект, откройте главное меню и нажмите Запуск игры.
Найдите в журнале строку `This is my first line of Verse code!`. Она сгенерирована кодом, который вы только что добавили в script!
Последовательное выполнение
После добавления строки, записывающей в журнал фразу `"Это моя первая строка кода на языке Verse!"` записывается в журнал после строки `"2 + 2 = 4"`. Это происходит потому, что эти строки кода выполняются в том порядке, в котором они записаны под строкой OnBegin():void=.
Если вы измените порядок строк, то порядок текста, записываемого в журнал, также изменится и текст `"Это моя первая строка кода на языке Verse!"` будет предшествовать строке `"2 + 2 = 4"`:
OnBegin<override>()<suspends>:void=
#TODO: Replace this with your code
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 2}")Код обычно выполняется построчно, в порядке следования выражений. Это называется последовательным выполнением. По мере изучения языка Verse вы узнаете, как формировать поток выполнения, чтобы менять поведение программы.
Устранение ошибок в коде
Вы написали и выполнили свою первую строку кода на языке Verse, теперь посмотрим, как решать проблемы, с которыми вы можете столкнуться при написании кода.
Есть два вида ошибок, которые могут вам встретиться: ошибки компилятора и ошибки при выполнении программы.
Ошибки компилятора
Как и в любых других текстах в коде могут быть опечатки. Из-за них компилятор не понимает, что должна делать программа. Они называются ошибками компилятора, потому что не позволяют программе скомпилироваться, и по большей части это синтаксические ошибки. Они также не позволяют протестировать код в игре.
VS Code может обнаружить некоторые ошибки компилятора и сообщить вам о них, изменив цвет имени файла на красный на вкладке файлов и на панели «Проводник».
Также VS Code подчёркивает красной линией строку, где обнаружена проблема. Если вы наведёте курсор на линию, появится сообщение об ошибке с возможным быстрым решением, если VS Code может предложить его.
VS Code может не обнаружить все ошибки компилятора, поэтому рекомендуется выполнять сборку кода перед его запуском, чтобы выявить все ошибки на ранней стадии. Для этого нажмите Verse, а затем Собрать код Verse на панели инструментов UEFN. Эта команда компилирует все файлы Verse в проекте, переводя ваш код в инструкции, которые может выполнить компьютер.
Нажмите на изображение, чтобы увеличить его.
В журнале выходных данных будет отображаться либо сообщение об успешном выполнении, если код собран правильно, либо ошибки, которые нужно исправить до начала тестирования в игре.
В случае ошибки компиляции после выбора Собрать код Verse появится сообщение.
Если в этом сообщении выбрать Просмотреть ошибки, откроется окно Журнал сообщений, в котором записаны все ошибки в коде, обнаруженные VS Code.
Нажмите на изображение, чтобы увеличить его.
После исправления всех ошибок код можно скомпилировать повторно и проверить его сборки, вновь выбрав Собрать код Verse на панели инструментов UEFN или нажав Пересобрать во всплывающем сообщении.
Ошибки при выполнении программы
Если код собран успешно, но программа работает не так, как требуется, это называется ошибкой при выполнении программы. Это так называемые ошибки в логике кода, и один из способов найти их — занесение записей в журнал.
Код в hello_world_device является отличным примером того, как вывод записей в журнал используется для проверки выполнения кода при запуске игры.
OnBegin<override>()<suspends>:void=
#TODO: Replace this with your code
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 2}")Вы также можете записывать значения, чтобы проверить, работает ли код так, как нужно. Если запустить следующий код, в журнале появится "2 + 2 = 4":
Print("2 + 2 = {2 + 2}")
Выражение {2 + 2} было рассчитано и дало результат «4» до того, как указанный текст был записан в журнал. Фигурные скобки `{}` между двойными кавычками `" "` в последней строке означают, что выражение должно быть рассчитано перед преобразованием в текст. Передача значения в строку, как в этом примере, называется интерполяцией строки.
Если изменить выражение в фигурных скобках, то выводимое значение изменится. В следующем примере выражение изменено на {2 + 3}, поэтому в журнале появится запись «2 + 2 = 5»:
nBegin<override>()<suspends>:void=
#TODO: Replace this with your code
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 3}")
Следующие шаги
Теперь, когда вы получили краткое представление о Verse и о том, как запускать и исправлять код, изучите статьи Основы написания кода в Verse, чтобы расширить свои знания о программировании и узнать больше о том, как пользоваться этим инструментом программирования.
Вы также можете запустить мини-игру из стартового пакета устройств Verse, нажав на кнопку на консоли в момент появления. Вы можете узнать, как создавалась эта мини-игра, изучив статью Стартовый шаблон Verse, также можно просмотреть файлы кода, используемые в этом проекте, в проводнике Verse!