Para crear la escena inicial en la que el jugador forma parte de la cinemática, tienes que teletransportar al jugador al sótano después de que termine de reproducirse la cinemática inicial. Para ello, utilizarás el siguiente fragmento de código:
AllPlayers := GetPlayspace().GetPlayers()
para (agente : AllPlayers):
Teleporter.Teleport(Agent)
Este fragmento de código está diseñado para coger a todos los jugadores de tu isla y aplicarles una función. En este caso, el teletransporte.
Cómo teletransportar jugadores tras una cinemática
Crea un nuevo dispositivo de Verse llamado cutscene_transporter utilizando el explorador de Verse y arrástralo hasta el nivel. Haz doble clic en cutscene_transporter.verse en el explorador de Verse para abrir la secuencia de comandos en Visual Studio Code.
- Debajo de la definición de la clase transporter_device, añade campos editables para los siguientes dispositivos:
-
CinematicSequence
-
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{}
- Añade un nuevo método
TeleportPlayers()a la claseteleport_device. Este método teletransporta a cada jugador al teletransportador que hayas configurado en el subsótano. Añade el fragmento de código anterior al métodoTeleportPlayers().
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
para (agente : AllPlayers):
Teleporter.Teleport(Agent)
- En
OnBegin(), suscribe elStoppedEventde tuCinematicSequenceal métodoTeleportPlayers(). Al suscribirTeleportPlayers()a este evento, el dispositivo escucha elStoppedEventdeCinematicSequence, y luego ejecuta el método TeleportPlayers que se indica a continuación.
OnBegin<override>()<suspends>:void=
Print("Cargando cinemática")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
- Tu código
teleporter_devicedebería tener el siguiente aspecto:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## Dispositivo del modo Creativo diseñado en Verse que se puede colocar en un nivel
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{}
## Se ejecuta cuando se inicia el dispositivo en un juego en ejecución.
OnBegin<override>()<suspends>:void=
Print("Cargando cinemática")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
para (agente : AllPlayers):
Teleporter.Teleport(Agent)
-
Guarda la secuencia de comandos en Visual Studio Code y, en UEFN, haz clic en Compilar código de Verse.
-
Coloca el generador de jugadores en el aparcamiento de Hamburrrguesa y el teletransportador en la zona de espera del subsótano.
-
Selecciona teleport_device en el esquematizador y asigna los dispositivos Secuencia cinemática, Generador de jugadores y Teletransportador a sus respectivas propiedades en el panel Detalles.
-
Haz clic en Aplicar cambios para probar el código.
Cuando comienza la cinemática, el jugador debe empezar en el aparcamiento de Hamburrrguesa. Cuando termine de reproducirse la cinemática, se teletransportará al jugador al sótano donde comienza la partida.
Siguiente sección
En el siguiente paso de este tutorial, aprenderás a utilizar las cinemáticas para conducir la historia y crear ambiente y atmósfera.