Aby utworzyć scenkę wprowadzającą, w której gracz będzie częścią przerywnika filmowego, musisz teleportować gracza do piwnicy po zakończeniu odtwarzania takiego przerywnika. W tym celu wykorzystaj poniższy fragment kodu:
AllPlayers := GetPlayspace().GetPlayers()
for (agent : AllPlayers):
Teleporter.Teleport(Agent)
Ten fragment kodu ma przechwycić wszystkich graczy na wyspie i zastosować do nich funkcję. W tym przypadku będzie nią teleportacja.
Teleportowanie graczy po przerywniku filmowym
Utwórz nowe urządzenie Verse o nazwie cutscene_trasnporter za pomocą Eksploratora Verse i przeciągnij je do poziomu. Kliknij dwukrotnie plik cutscene_transporter.verse w Eksploratorze Verse, aby otworzyć skrypt w Visual Studio Code.
- Pod definicją klasy transporter_device dodaj edytowalne pola do następujących urządzeń:
-
CinemtaicSequence
-
Teleporter
-
PlayerSpawner
cutscene_transporter := class(creative-device):
@editable
CinematicSequence : cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
- Dodaj nową metodę
TeleportPlayers()
do klasyteleport_device
. Metoda ta teleportuje poszczególnych graczy do teleportera skonfigurowanego w przestrzeni pod piwnicą. Dodaj wcześniejszy fragment kodu do metodyTeleportPlayers()
.
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (agent : AllPlayers):
Teleporter.Teleport(Agent)
- W
OnBegin()
zasubskrybuj zdarzenieStoppedEvent
z urządzeniaCinematicSequence
do metodyTeleportPlayers()
. Zasubskrybowanie tego zdarzenia w metodzieTeleportPlayers()
sprawi, że urządzenie będzie nasłuchiwać zdarzeniaStoppedEvent
urządzeniaCinematicSequence
, a następnie wykona poniższą metodę TeleportPlayers.
OnBegin<override>()<suspends>:void=
Print("Ładowanie przerywnika filmowego")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
- Uzyskany kod
teleporter_device
powinien wyglądać następująco:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## Urządzenie trybu kreatywnego utworzone w Verse, które można umieścić w poziomie
log_transporter_device := class(log_channel){}
transporter_device := class(creative_device):
@editable
CinematicSequence:cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
## Wykonywane po uruchomieniu urządzenia w aktywnej grze
OnBegin<override>()<suspends>:void=
Print("Ładowanie przerywnika filmowego")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (agent : AllPlayers):
Teleporter.Teleport(Agent)
-
Zapisz skrypt w Visual Studio Code, a następnie w UEFN kliknij Skompiluj kod Verse.
-
Umieść Punkt spawnu graczy na parkingu Durr Burgerowni, a Teleporter w miejscu przetrzymywania graczy w przestrzeni pod piwnicą.
-
Wybierz teleport_device w Outlinerze i przypisz urządzenia Sekwencja filmowa, Punkt spawnu gracza i Teleporter do odpowiadających im właściwości w panelu Szczegóły.
-
Kliknij Wyślij zmiany, aby przetestować kod w grze.
Gdy przerywnik filmowy się rozpocznie, gracz powinien na początku znajdować się na parkingu Durr Burgerowni. Po zakończeniu odtwarzania przerywnika filmowego gracz powinien teleportować się do piwnicy, w której rozpoczyna się gra.
Następna sekcja
W kolejnym kroku tego samouczka nauczysz się wykorzystywać sekwencje filmowe do podkręcania historii oraz budowania nastroju i atmosfery.