Las plataformas que aparecen y desaparecen periódicamente constituyen un elemento básico de los modos de juego de plataformas, como las carreras de obstáculos. Los jugadores tienen que calcular con precisión el momento en el que saltan para llegar a la siguiente plataforma. Si fallan, se caerán y tendrán que volver a empezar.
A través de 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 completa se incluye al final de este tutorial como referencia.

Funciones del lenguaje Verse utilizadas
loop: la plataforma alterna entre ser visible e invisible hasta que el juego termina. Este ejemplo utiliza la expresiónloopde Verse para ejecutar continuamente este comportamiento.
API de Verse utilizadas
-
Sleep(): Con la funciónSleep()puedes elegir cuánto tiempo permanecerá la plataforma en sus estados invisible y visible. -
Propiedades editables: hay dos propiedades de dispositivo de Verse expuestas a UEFN para que puedas personalizarlas en el editor: una referencia de
creative_proppara la plataforma y unToggleDelaypara la llamada a la funciónSleep().
Cómo configurar el nivel
Este tutorial utiliza la plantilla inicial de Verse como punto de partida. Para empezar, inicializa un nuevo proyecto a partir del ejemplo de función Dispositivo de Verse.
Este ejemplo utiliza los siguientes elementos y dispositivos:
-
Un dispositivo Plataforma de aparición de jugador: Este dispositivo establece dónde aparecerá el jugador al inicio de la partida.
-
Tres dispositivos Elemento del modo Creativo: los elementos 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 utiliza la plataforma flotante aérea A como plataforma interactiva con el jugador, pero puedes cambiarla para adaptarla a las necesidades de tu experiencia.
Sigue estos pasos para configurar tu nivel:
-
Arrastra una plataforma flotante aérea A a tu escena. Colócala sobre el suelo para que el jugador se caiga si no salta de la plataforma que desaparece a tiempo. Nombra al dispositivo LoopingDisappearingPlatform en el esquematizador.
-
Coloca la plataforma dos veces y colócalas en lados opuestos de la primera plataforma para que el jugador tenga que saltar en el momento preciso. 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 comience la partida. La configuración de tu nivel debería parecerse a esto:
Cómo crear el dispositivo de Verse
Este ejemplo utiliza un dispositivo de 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. Consulta Cómo crear tu propio dispositivo con Verse para ver los pasos.
-
Arrastra el dispositivo looping_disappearing_platform desde el explorador de contenido hasta el nivel. Consulta Cómo crear tu propio dispositivo con Verse para ver los pasos.
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 de
creative_propal elemento del modo Creativo que colocaste en el nivel. -
Una constante de
float, denominadaToggleDelay, para almacenar el tiempo que la plataforma debe ser invisible o visible.
Sigue estos pasos para exponer estas propiedades al editor desde el dispositivo looping_disappearing_platform que creaste en la sección anterior.
-
Abre el explorador de Verse y haz doble clic en looping_disappearing_platform.verse para abrir la secuencia de comandos en Visual Studio Code.
-
En la definición de la clase
looping_disappearing_platform, añade los siguientes campos:-
Un
floateditable denominadoToggleDelay. Representa el tiempo entre el cambio de visible a invisible. Inicializa este valor a2.0o dos segundos.# Cantidad de tiempo que se debe esperar antes activar la visibilidad de la plataforma. @editable ToggleDelay : float = 2.0 -
Un
creative_propeditable denominadoDisappearingPlatform. Representa una plataforma dentro del nivel que desaparecerá y aparecerá periódicamente. Como tu código aún no tiene una referencia a este objeto en el nivel, lo instanciarás con un arquetipocreative_prop{}vacío. Más adelante asignarás esta referencia a tu plataforma flotante.# Referencia a la plataforma en el nivel. @editable DisappearingPlatform:creative_prop = creative_prop{}
-
-
Tus campos de clase
looping_disappearing_platformdeberían tener el siguiente aspecto:using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # Consulta https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse para aprender a crear un dispositivo Verse. # Dispositivo del modo Creativo creado con Verse que puede colocarse en un nivel. looping_disappearing_platform := class(creative_device): # Cantidad de tiempo que se debe esperar antes activar la visibilidad de la plataforma. @editable ToggleDelay : float = 2.0 # Referencia a la plataforma en el nivel. @editable DisappearingPlatform:creative_prop = creative_prop{}Es útil utilizar 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 cada vez, por lo que puedes iterar rápidamente y buscar valores que se ajusten a tu experiencia de juego. -
Guarda la secuencia de comandos en Visual Studio Code y compila el código para actualizar tu dispositivo looping_disappearing_platform en el nivel.
-
En el panel Esquematizador en UEFN, selecciona el dispositivo looping_disappearing_platform para abrir su panel Detalles.
-
En el panel Detalles, en Plataforma que desaparece en bucle:
-
Establece DisappearingPlatform en LoopingDisappearingPlatform (el elemento del modo Creativo que has añadido al nivel) haciendo clic en el selector de objetos y seleccionando Elemento del modo Creativo en el visor o buscando LoopingDisappearingPlatform en la barra de búsqueda.

-
Establece ToggleDelay con el número de segundos que quieres que la plataforma sea visible/invisible. Este valor por defecto es 2.0 ya que es el valor que definiste anteriormente.
-
Cómo mostrar y ocultar la plataforma
Ahora que has configurado el nivel y los dispositivos, puedes añadir la lógica de mostrar y ocultar la plataforma. Sigue estos pasos para añadir este comportamiento al dispositivo looping_disappearing_platform:
-
La clase
creative_proptiene dos métodos para cambiar su visibilidad:Show()yHide(). De vuelta en Visual Studio Code, enOnBegin(), llama aHide()y luego aShow()en tuDisappearingPlatform.# Se ejecuta cuando se inicia el dispositivo en un juego en ejecución OnBegin<override>()<suspends>:void= # Oculta la plataforma. DisappearingPlatform.Hide() # Muestra la plataforma. DisappearingPlatform.Show()Si ejecutas este código, no verás que la plataforma desaparece y reaparece porque las llamadas
Hide()yShow()se producen inmediatamente una después de la otra. -
Para hacer que la plataforma permanezca más tiempo en un estado visible o invisible, puedes añadir un retraso antes de las llamadas a
Hide()oShow()medianteSleep(). La funciónSleep()suspende la ejecución de una rutina, y tú especificas la cantidad de tiempo (en segundos) para suspender la ejecución pasando un argumentofloata la función. Llama aSleep()antes de cada llamada aHide()yShow(), pasando elToggleDelayque definiste antes.# Se ejecuta cuando se inicia el dispositivo en un juego en ejecución OnBegin<override>()<suspends>:void= # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Oculta la plataforma. DisappearingPlatform.Hide() # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Muestra 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.Solo es posible llamar a la función
Sleep()en un contexto asíncrono. Como el métodoOnBegin()ya tiene el especificadorsuspends, lo que significa que es un contexto asíncrono, no necesitas hacer nada más. Para obtener más información sobre el especificadorsuspends, consulta Especificadores y atributos. -
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 con unbreak. En este ejemplo, vamos a cambiar la visibilidad de las plataformas durante todo el tiempo que dure la partida, así que no es necesario añadir una expresiónbreakpara salir del bucleloop. Añade una expresiónloopal principio deOnBegin(), e inserta una sangría en el resto de tu código para que esté dentro del bucle. Tu métodoOnBegin()debería tener el siguiente aspecto:# Se ejecuta cuando se inicia el dispositivo en un juego en ejecución OnBegin<override>()<suspends>:void= loop: # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Oculta la plataforma. DisappearingPlatform.Hide() # Espera ToggleDelay segundos. Sleep(ToggleDelay) # Muestra la plataforma. DisappearingPlatform.Show() -
Guarda la secuencia de comandos, haz clic en Verse y, a continuación, en Compilar código de Verse para compilar el código.
-
Haz clic en Abrir sesión en la barra de herramientas de UEFN para poner a prueba el nivel.
Cuando pones a prueba el nivel, tu plataforma aparece y desaparece 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/en-us/uefn/create-your-own-device-in-verse para aprender a crear un dispositivo Verse.
# Dispositivo del modo Creativo creado con Verse que puede colocarse en un nivel.
looping_disappearing_platform := class(creative_device):
# Cantidad de tiempo que se debe esperar antes 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 se inicia el dispositivo en un juego en ejecución
OnBegin<override>()<suspends>:void=
loop:
# Espera ToggleDelay segundos.
Sleep(ToggleDelay)
# Oculta la plataforma.
DisappearingPlatform.Hide()
# Espera ToggleDelay segundos.
Sleep(ToggleDelay)
# Muestra la plataforma.
DisappearingPlatform.Show()
Por tu cuenta
Al completar este tutorial, habrás aprendido a crear un dispositivo con Verse que cambia la visibilidad de una plataforma durante el tiempo que dura la partida.
Con lo que has aprendido, intenta lo siguiente:
-
Duplica la configuración con el dispositivo looping_disappearing_platform y el el elemento, 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 objetos, como el dispositivo Colocador de elementos.