Las plataformas que aparecen y desaparecen periódicamente son un elemento básico de los modos de juego de plataformas, como las carreras de obstáculos. Requieren que los jugadores sincronicen sus saltos para llegar a la siguiente plataforma. Si fallan, caerán y deberán comenzar de nuevo.
Siguiendo este tutorial, aprenderás a usar Verse en Unreal Editor para Fortnite (UEFN) para crear una plataforma que aparece y desaparece en bucle. La secuencia de comandos se incluye al final de este tutorial como referencia.

Funciones usadas del lenguaje Verse
loop: la plataforma alterna entre ser visible e invisible hasta que el juego termina. Este ejemplo usa la expresiónloopde Verse para ejecutar este comportamiento de forma continua.
Las API usadas en Verse
-
Sleep(): Con la funciónSleep(), puedes elegir cuánto tiempo estará la plataforma en sus estados invisible y visible. -
Propiedades editables: se exponen dos propiedades del dispositivo creadas en Verse al editor UEFN para que puedas personalizarlas en el editor: una referencia de
creative_proppara la plataforma y unToggleDelaypara la llamada a la funciónSleep().
Configuración del nivel
Este tutorial usa la plantilla de Verse para principantes como punto de partida. Para empezar, inicializa un nuevo proyecto a partir del ejemplo de Dispositivo de Verse.
En este ejemplo, se utilizan la utilería y los dispositivos que aparecen a continuación:
-
1 x dispositivo Aparición de jugador: este dispositivo define dónde generar al jugador al comienzo del juego.
-
3 x objetos del modo Creativo: los objetos del modo Creativo tienen varios comportamientos que puedes llamar con Verse, como
Hide()yShow()para alternar la visibilidad y colisión de la plataforma. Este tutorial usa la plataforma aérea flotante A como plataforma que el jugador puede usar para interactuar, pero puedes cambiarla conforme lo requiera tu experiencia.
Realiza estos pasos para configurar el nivel:
-
Arrastra una plataforma aérea flotante A a tu escena. Coloca esto por encima del suelo para que el jugador se caiga si no salta a tiempo de la plataforma que desaparece. Selecciona el dispositivo LoopingDisappearingPlatform en el esquematizador.
-
Copia la plataforma dos veces y colócalas en lados opuestos de la primera plataforma para que el jugador tenga que calcular su salto. El jugador apenas debería tener tiempo para llegar al otro lado.
-
Mueve la plataforma de aparición de jugador a una de las plataformas. Aquí es donde el jugador aparecerá cuando el juego comience. Tu nivel debería parecerse a esto:
Cómo crear el dispositivo de Verse
Este ejemplo usa un dispositivo creado con Verse para definir el comportamiento que cambia la visibilidad de las plataformas. Sigue estos pasos para crear tu dispositivo de Verse y colocarlo en el nivel.
-
Crea un nuevo dispositivo de Verse denominado *looping_disappearing_platform con el explorador de Verse. Para ver pasos, consulta Crea tu propio dispositivo con Verse.
-
Arrastra el dispositivo looping_disappearing_platform desde el explorador de contenido al nivel. Para ver los pasos, consulta Cómo crear un nuevo dispositivo con Verse para obtener información.
Cómo editar las propiedades del dispositivo en UEFN
Esta sección muestra cómo exponer dos propiedades del dispositivo a UEFN para que puedas personalizarlas en el editor:
-
Una referencia
creative_propal objeto del modo Creativo que colocaste en el nivel. -
Una constante
floatpara almacenar el tiempo que la plataforma debe ser invisible/visible, llamadoToggleDelay.
Realiza estos pasos para exponer estas propiedades del editor desde el dispositivo looping_disappearing_platform que creaste en la sección anterior.
-
Abre el explorador de Verse y haz doble clic en platform_series.verse para abrir la secuencia de comandos en Visual Studio Code.
-
En la definición de la clase
looping_disappearing_platform, agrega los siguientes campos:-
Un
floateditable denominadoToggleDelay. Esto representa el tiempo entre la alternancia de visible a invisible. Inicializa este valor en2.0o dos segundos.# La cantidad de tiempo que hay que esperar para activar la visibilidad de la plataforma. @editable ToggleDelay : float = 2.0 -
Un
creative_propeditable denominadoDisappearingPlatform. Esta es la plataforma del nivel que desaparecerá y aparecerá periódicamente. Ya que tu código aún no tiene una referencia a este objeto en el nivel, lo deberás instanciar esto con un arquetipocreative_prop{}vacío. Asignarás esta referencia a tu plataforma flotante más adelante.# Referencia a la plataforma en el nivel. @editable DisappearingPlatform:creative_prop = creative_prop{}
-
-
Tus campos de la clase
looping_disappearing_platformdeberían ser así:using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # Consulta https://dev.epicgames.com/documentation/es-mx/uefn/create-your-own-device-in-verse para saber cómo crear un dispositivo de Verse. # Un dispositivo del modo Creativo creado por Verse que se puede colocar en un nivel looping_disappearing_platform := class(creative_device): # La cantidad de tiempo que hay que esperar para activar la visibilidad de la plataforma. @editable ToggleDelay : float = 2.0 # Referencia a la plataforma en el nivel. @editable DisappearingPlatform:creative_prop = creative_prop{}Resulta útil el atributo
@editablepara exponer valores comoToggleDelayal editor desde tus secuencias de comandos. Esto te permite personalizar sus valores en UEFN sin tener que volver a compilar el código de Verse en cada ocasión, con lo que podrás iterar rápidamente y buscar valores que funcionen con tu experiencia de juego. -
Guarda la secuencia de comandos en Visual Studio Code y compila tu código para actualizar el dispositivo looping_disappearing_platform en el nivel.
-
En el esquematizador en UEFN, selecciona el dispositivo looping_disappearing_platform para abrir su panel de detalles.
-
En el panel de detalles debajo de looping_disappearing_platform:
-
Establece DisappearingPlatform a LoopingDisappearingPlatform (el objeto del modo Creativo que agregaste al nivel) al hacer clic en el selector de objetos y seleccionar el objeto del modo Creativo en el visor o al buscar LoopingDisappearingPlatform en la barra de búsqueda.

-
Establece ToggleDelay al número de segundos que quieres que la plataforma sea visible/invisible. Este valor se establece en 2.0 ya que es el valor que definiste antes.
-
Cómo ocultar y mostrar la plataforma
Ahora que has configurado el nivel y los dispositivos, puedes añadir la lógica de mostrar y ocultar la plataforma. Realiza estos pasos para añadir este comportamiento al dispositivo looping_disappearing_platform
-
La clase
creative_proptiene dos métodos para cambiar su visibilidad:Hide()yShow(). De vuelta en Visual Studio Code, enOnBegin(), llama aHide()y luego aShow()en tuDisappearingPlatform.# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución OnBegin<override>()<suspends>:void= # Hace invisible la plataforma. DisappearingPlatform.Hide() # Hace visible la plataforma. DisappearingPlatform.Show()Si ejecutas este código, no verás que la plataforma desaparece y reaparece porque las llamadas a
Hide()yShow()se producen inmediatamente una después de la otra. -
Para hacer que la plataforma permanezca más tiempo en un estado visible/invisible, puedes añadir una demora entre las llamadas Hide()
andShow()medianteSleep(). La funciónSleep()suspende la ejecución de una rutina y puedes especificar cuánto tiempo (en segundos) se suspende la ejecución si pasas un argumentofloata la función. Llama aSleep()antes de cada llamada aHide()yShow()con elToggleDelay` que definiste antes.# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución OnBegin<override>()<suspends>:void= # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Hace invisible la plataforma. DisappearingPlatform.Hide() # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Hace visible la plataforma. DisappearingPlatform.Show()Si ejecutas este código, la plataforma será invisible durante dos segundos (la cantidad definida por
ToggleDelay) antes de que se haga visible para el resto de la partida.La función
Sleep()solo se puede llamar en un contexto asíncrono. El métodoOnBegin()ya tiene el especificadorsuspends, lo que significa que es un contexto asíncrono, así que no necesitas hacer nada más. Para obtener más información sobre el especificadorsuspends, consulta Atributos y especificadores. -
Para hacer que la plataforma alterne entre visible e invisible durante todo el tiempo que dure la partida, puedes utilizar la expresión
loop. El uso deloopejecuta repetidamente el código dentro de la expresiónloop, a menos que el código se interrumpa conbreak. En este ejemplo, quieres cambiar la visibilidad de las plataformas durante todo el tiempo que dure la partida, así que no hay necesidad de añadir una expresiónbreakpara salir delloop. Añade una expresiónloopal principio deOnBegin()y usa una sangría en el resto de tu código para que esté dentro del bucle. Tu métodoOnBegin()debería verse así:# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución OnBegin<override>()<suspends>:void= loop: # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Hace invisible la plataforma. DisappearingPlatform.Hide() # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Hace visible la plataforma. DisappearingPlatform.Show() -
Guarda la secuencia de comandos y haz clic en Verse y, luego, en Compilar código de Verse para compilar el código.
-
Haz clic en Comenzar sesión en la barra de herramientas de UEFN para realizar una prueba de juego del nivel.
Cuando ejecutas la prueba de juego del nivel, tu plataforma debería aparecer y desaparecer cada dos segundos durante todo el tiempo que dura la partida.

Secuencia de comandos completa
El siguiente código es la secuencia de comandos completa para hacer desaparecer y aparecer una plataforma en bucle.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Consulta https://dev.epicgames.com/documentation/es-mx/uefn/create-your-own-device-in-verse para saber cómo crear un dispositivo de Verse.
# Un dispositivo del modo Creativo creado por Verse que se puede colocar en un nivel
looping_disappearing_platform := class(creative_device):
# La cantidad de tiempo que hay que esperar para activar la visibilidad de la plataforma.
@editable
ToggleDelay : float = 2.0
# Referencia a la plataforma en el nivel.
@editable
DisappearingPlatform:creative_prop = creative_prop{}
# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución
OnBegin<override>()<suspends>:void=
loop:
# Espera ToggleDelay segundos.
Sleep(ToggleDelay)
# Hace invisible la plataforma.
DisappearingPlatform.Hide()
# Espera ToggleDelay segundos.
Sleep(ToggleDelay)
# Hace visible la plataforma.
DisappearingPlatform.Show()
Por tu cuenta
Al completar este tutorial, habrás aprendido a crear un dispositivo usando Verse que cambia la visibilidad de una plataforma todo el tiempo que dura la partida.
Con lo que aprendiste, prueba lo siguiente:
-
Duplica la configuración con el dispositivo looping_disappearing_platform y el objeto, y prueba diferentes tiempos de
ToggleDelaypara crear una serie más larga de plataformas. -
Aplica los mismos conceptos para llamar periódicamente a funciones en otros tipos de dispositivos, como el movedor de objetos.