Wykonując kroki opisane na tej stronie, dowiesz się, jak tworzyć, uruchamiać i edytować program w języku Verse, a także jak znajdować w nim błędy i je usuwać. Twój program będzie wyświetlał napis „Witaj, świecie!” w Unreal Editor dla Fortnite (UEFN).
Patrz: Uruchamianie Unreal Editor dla Fortnite, aby dowiedzieć się, jak uzyskać dostęp do UEFN.
Twój pierwszy program Verse
Szablon VKT – gry startowe urządzenia Verse stanowi wprowadzenie do urządzeń stworzonych za pomocą Verse i zawiera wiele urządzeń, które służą jako przykłady. W ramach poniższych kroków utworzysz i zmodyfikujesz nowe urządzenie Verse w tym szablonie.
W oknie Przeglądarki projektów wybierz Przykłady funkcji, aby wyświetlić wszystkie przykłady funkcji UEFN.
Na liście przykładów funkcji kliknij Urządzenie Verse, aby je wyróżnić.
U dołu ekranu w sekcji Nazwa projektu nadaj projektowi nazwę MyVerseProject, a następnie kliknij opcję Utwórz.
Na pasku menu wybierz: Verse > Eksplorator Verse.
W Eksploratorze Verse kliknij prawym przyciskiem myszy nazwę projektu i wybierz Dodaj nowy plik Verse do projektu, aby otworzyć okno Utwórz skrypt Verse.
W oknie Utwórz skrypt Verse kliknij opcję Urządzenie Verse, aby wybrać je jako szablon, a następnie kliknij przycisk Utwórz.
Na pasku menu wybierz kolejno Verse > Skompiluj kod Verse , aby upewnić się, że nowo utworzone urządzenie Verse pojawia się w folderze projektu.
W Przeglądarce zawartości przejdź do folderu projektu.
Jeśli Przeglądarka zawartości nie jest jeszcze otwarta, kliknij Okno na pasku menu, a następnie wybierz Przeglądarka zawartości lub wybierz Szuflada zawartości w lewym dolnym rogu okna UEFN.
Ścieżka powinna być następująca: Wszystko > MyVerseProject > hello_world_device.
Kliknij i przeciągnij hello_world_device do poziomu.
W pasku narzędzi kliknij Uruchom sesję, aby przetestować wyspę w grze.
Kliknij obraz, aby go powiększyć.
W oknie Zapisz zawartość kliknij Zapisz wybrane, aby zapisać zmiany w projekcie.
Gdy serwer skończy wczytywanie projektu, otwórz menu główne i kliknij Rozpocznij grę.
W kliencie naciśnij klawisz Escape, aby otworzyć ekran menu głównego, i kliknij Ustawienia wyspy. Następnie kliknij przycisk Dziennik na górnym pasku nawigacyjnym, aby wyświetlić dziennik.
W dzienniku znajdź wiersz zawierający „Hello, world!”, po którym następuje wiersz 2 + 2 = 4. Te wiersze pochodzą z pliku hello_world_device.verse. Urządzenie utworzone w Verse zostało dodane do poziomu, dlatego po uruchomieniu gry jego kod został wykonany.
Masz już za sobą uruchomienie swojego pierwszego programu Verse. Teraz spójrzmy na kod w pliku hello_world_device.verse i zmieńmy go. Nie wyłączaj klienta, będzie potrzebny w kolejnej sekcji.
Zmodyfikuj program
Wykonaj poniższe kroki, aby wyświetlić plik hello_world_device.verse, który utworzył urządzenie w poprzedniej sekcji, a następnie dodaj nowy wiersz kodu.
Na pasku menu kliknij kolejno Verse > Eksplorator Verse, aby wyświetlić wszystkie pliki Verse w projekcie.
Pod nazwą projektu kliknij dwukrotnie hello_world_device.verse, aby otworzyć plik.
Plik Verse otworzy się w Visual Studio Code (VSC) – edytorze do pisania programów. Jeśli na komputerze nie jest zainstalowany ten edytor, wyświetli się monit z prośbą o jego instalację.
Kliknij obraz, aby go powiększyć.
Rozszerzenie kodu Verse to rozszerzenie kodu VS Code, które umożliwia sprawdzanie błędów Verse i podświetlanie składni, a także umożliwia kompilowanie i wysyłanie zmian w skryptach Verse bezpośrednio z kodu VS.
Rozszerzenie Verse dołączone do UEFN jest jedynym oficjalnie obsługiwanym rozszerzeniem języka dla Verse. To rozszerzenie jest włączane automatycznie po uruchomieniu UEFN. Jeśli odinstalujesz rozszerzenie, zostanie ono ponownie zainstalowane, gdy ponownie uruchomisz UEFN.
Instalację rozszerzenia kodu Verse można zweryfikować po obecności przycisków Fokus na edytorze, Skompiluj zmiany w Verse i Wyślij zmiany w Verse w górnej części okna kodu VS.
Kliknij obraz, aby go powiększyć.
Później zobaczysz, jak działa reszta kodu. Na razie zapamiętaj, że kod wpisany pod wierszem OnBegin<override>()<suspends>:void= zostanie wykonany w momencie rozpoczęcia gry. Na końcu pliku dodaj następujący kod:
Print("This is my first line of Verse code!")
Teraz twój plik Verse powinien wyglądać następująco:
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
Tekst po symbolu # jest uznawany za komentarz do kodu i ignorowany przez komputer, gdy program działa. Komentarze do kodu są przydatne dla samego autora i innych osób, które czytają kod, ponieważ w komentarzach można umieszczać wyjaśnienia dotyczące kodu. W tym przykładzie # Runs when the device is started in a running game i #TODO: Replace this with your code to komentarze do kodu.
Zapisz swoje zmiany
Zapisz plik hello_world_device.verse w Visual Studio Code.
Na pasku narzędzi UEFN kliknij Verse, następnie kliknij Skompiluj kod Verse, aby skompilować kod.
Kliknij obraz, aby go powiększyć.
Po skompilowaniu, nad przyciskiem Verse pojawi się zielony symbol zaznaczenia. Jeśli podczas kompilacji wystąpią problemy, pojawi się czerwona ikona stop. Do czasu usunięcia wszystkich błędów skompilowanie kodu nie będzie możliwe. W takim przypadku porady dotyczące poprawiania kodu znajdziesz w sekcji Rozwiązywanie problemów z kodem.
Kliknij obraz, aby go powiększyć.
Gdy kompilacja kodu się zakończy, na pasku narzędzi UEFN pojawią się opcje Wyślij zmiany i Wyślij zmiany w Verse. Opcja Wyślij zmiany aktualizuje klienta o wszystkie zmiany dokonane w edytorze, takie jak dodawanie i usuwanie rekwizytów, modyfikowanie właściwości obiektu, a także zmiany w kodzie Verse. Opcja Wyślij zmiany Verse jedynie aktualizuje kod Verse i działa szybciej niż opcja Wyślij zmiany. Pomaga to w sytuacjach, gdy chcesz wprowadzić niewielkie przyrostowe zmiany w kodzie, nie odświeżając całej sesji. Kliknij opcję Wyślij zmiany w Verse, aby zaktualizować klienta.
Kliknij obraz, aby go powiększyć.
Gdy serwer skończy aktualizować projekt, otwórz menu główne i kliknij Rozpocznij grę.
W dzienniku znajdź wiersz zawierający "To mój pierwszy wiersz kodu Verse!". Jest to kod, który właśnie został dodany do skryptu!
Wykonanie sekwencyjne
Po dodaniu wiersza kodu, który zapisuje tekst do dziennika, tekst „To mój pierwszy wiersz kodu Verse!” został wyświetlony po 2 + 2 = 4. Stało się tak dlatego, że te wiersze kodu są wykonywane w kolejności, w której są zapisane pod wierszem OnBegin<override>()<suspends>:void=.
Gdy zmienisz kolejność wierszy, tekst będzie zapisany w dzienniku w nowej kolejności, czyli „To mój pierwszy wiersz kodu Verse!” wyświetli się przed 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}")Kod jest ogólnie wykonywany wiersz po wierszu, w kolejności, w której pojawiają się kolejne wyrażenia. Jest to tak zwane wykonanie sekwencyjne. W miarę postępów w programowaniu w Verse dowiesz się, jak kształtować przepływ wykonania, aby zmienić zachowanie programu.
Rozwiązywanie problemów z kodem
Masz za sobą napisanie i wykonanie pierwszego wiersza kodu Verse. Czas rozwiązać kilka problemów, które możesz napotkać, pisząc kod.
Istnieją dwa rodzaje błędów, z którymi możesz się spotkać: błędy kompilatora i bugi.
Błędy kompilatora
W przypadku każdego rodzaju tekstu mogą pojawić się literówki. To samo dotyczy kodu. Z powodu literówek kompilator nie rozumie, co ma wykonać program. Pomyłki tego rodzaju nazywane są błędami kompilatora, ponieważ uniemożliwiają kompilację programu. Najczęściej są to błędy składni. Uniemożliwia to uruchomienie kodu w teście gry.
Visual Studio Code wykrywa niektóre błędy kompilatora i informuje o nich, zmieniając kolor nazwy pliku na czerwony na karcie pliku i w panelu Eksploratora.
Wiersze, w których Visual Studio Code wykryje problem, są też podkreślane czerwonym wężykiem. Gdy najedziesz kursorem na wężyk, wyświetli się komunikat błędu z ewentualną szybką poprawką, jeśli Visual Studio Code może ją zaproponować.
Visual Studio Code może nie być w stanie wychwycić wszystkich błędów kompilatora. Dobrą praktyką jest kompilowanie kodu przed próbą jego uruchomienia, aby wychwycić ewentualne błędy możliwie jak najwcześniej. W tym celu na pasku narzędzi UEFN kliknij opcję Verse, a następnie kliknij Skompiluj kod Verse. Ta opcja kompiluje wszystkie pliki Verse w projekcie. Kompilacja przekształca napisany kod w instrukcje wykonywane przez komputer.
Kliknij obraz, aby go powiększyć.
W dzienniku wyjściowym wyświetli się komunikat o powodzeniu, jeśli kod skompiluje się poprawnie, lub informacja o błędach, które musisz naprawić, aby móc używać kodu w teście gry.
Gdy wybierzesz Skompiluj kod Verse, a podczas kompilacji wystąpią błędy, pojawi się wyskakujący komunikat.
Wybranie opcji Pokaż błędy w oknie podręcznym spowoduje otwarcie okna Dziennik komunikatów i wyświetlenie wszystkich błędów w kodzie, które program VS Code był w stanie wykryć.
Kliknij obraz, aby go powiększyć.
Po naprawieniu błędów możesz skompilować kod jeszcze raz i sprawdzić, czy kompilacja przebiega bez przeszkód. Kliknij ponownie Kompiluj skrypty Verse na pasku narzędzi UEFN lub kliknij Skompiluj ponownie w wyskakującym komunikacie.
Błędy
Gdy kod kompiluje się prawidłowo, ale program nie działa zgodnie z oczekiwaniami, to takie problemy nazywają się bugami. Bugi to problemy z logiką kodu. Jednym ze sposobów, aby je znaleźć, jest zapisywanie informacji do dziennika.
Kod w hello_world_device to dobry przykład ilustrujący, w jaki sposób zapisywanie do dziennika służy sprawdzeniu, czy kod działa po rozpoczęciu gry.
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}")Możesz też wypisywać wartości, aby sprawdzić, czy kod wykonuje się zgodnie z założeniami. Gdy wykonasz następujący kod, w dzienniku pojawi się tekst 2 + 2 = 4:
Print("2 + 2 = {2 + 2}")
Zanim tekst został zapisany w dzienniku, wyrażenie {2 + 2} zostało poddane ocenie, która zwróciła wynik 4. Nawiasy klamrowe {} między podwójnymi cudzysłowami " " w ostatnim wierszu oznaczają, że wyrażenie powinno być ocenione, zanim zostanie skonwertowane na tekst. Tego typu wstrzyknięcie wartości do ciągu tekstowego jest przykładem interpolacji ciągów tekstowych.
Jeśli zmienisz wyrażenie w nawiasach klamrowych, zmieni się wyświetlana wartość. W kolejnym przykładzie wyrażenie zostało zmienione na {2 + 3}, a w dzienniku wyświetli się 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}")
Kolejne kroki
To było bardzo krótkie wprowadzenie do Verse. Umiesz uruchamiać kod i rozwiązywać związane z nim problemy. Teraz przejdź do dokumentu Opanuj podstawy pisania kodu w języku Verse, aby poszerzyć wiedzę o programowaniu jako takim i dowiedzieć się, jak okiełznać nowo poznane narzędzie programistyczne.
W minigrę z pakietu startowego urządzeń Verse można też grać, wchodząc w interakcję z przyciskiem na konsoli w momencie zespawnowania. Proces powstawania minigry opisano w artykule Szablon pakietu startowego Verse, a w Eksploratorze Verse możesz przeczytać pliki kodu użyte w tym projekcie!