Para crear la escena inicial en la que el jugador forma parte de la escena, tienes que teletransportar al jugador al sótano después de que termine la escena inicial. Para ello, utiliza el siguiente fragmento de código:
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
Este fragmento de código está diseñado para capturar a todos los jugadores de tu isla y aplicarles una función. En este caso, la teletransportación.
Teletransportación de jugadores tras una escena
Crea un nuevo dispositivo de Verse llamado cutscene_transporter usando el explorador de Verse, y arrastra el dispositivo al nivel. Haz doble clic en cutscene_transporter.verse desde 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
-
Teletransportador
-
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 colocaste en el subsótano. Añade el fragmento de código anterior al métodoTeleportPlayers().
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
- En
OnBegin(), suscribe elStoppedEventde tuCinematicSequenceal métodoTeleportPlayers(). Al suscribirTeleportPlayers(), este evento hace que el dispositivo escuche elStoppedEventde laCinematicSequencey, luego, ejecuta el método TeleportPlayers que aparece a continuación.
OnBegin<override>()<suspends>:void=
Print("Cargando cinemática.")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
- Tu código
teleporter_devicedebería verse de la siguiente manera:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## Un dispositivo del modo Creativo creado por Verse que se puede colocar en un nivel
log_transporter_device := class(log_channel){}
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{}
## Se ejecuta cuando el dispositivo se inicia en un juego en ejecución
OnBegin<override>()<suspends>:void=
Print("Cargando cinemática.")
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : 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 dispositivo de aparición de jugadores en el estacionamiento del Durr Burger, y el teletransportador en la zona de espera del subsótano.
-
Selecciona el dispositivo teleport_device en el esquematizador y asigna los dispositivos secuencia cinemática, generador de jugadores y teletransportador a sus respectivas propiedades en el panel de detalles.
-
Haz clic en Aplicar cambios para probar el código.
Cuando comience la escena, el jugador debe empezar en el estacionamiento de Durr Burger. Una vez que la escena termina de reproducirse, el jugador debe teletransportarse al sótano donde comienza el juego.
Siguiente sección
En el siguiente paso de este tutorial, aprenderás a utilizar las cinemáticas tanto para guiar la historia como para crear ambiente y atmósfera.