En este paso, crearás un sistema de cronómetro en Verse que utiliza los dispositivos Cronómetro y Fin de partida. El cronómetro se pondrá en marcha cuando el jugador alcance cualquier objetivo, y el juego finalizará y mostrará el marcador cuando se acabe el tiempo.
Si bien es posible finalizar la partida con un cronómetro mediante los ajustes de la isla o solo con dispositivos, el uso de Verse permite un mayor control sobre la mecánica del juego.
Cómo modificar tu isla
Selecciona el dispositivo Ajustes de la isla en el visor o en el panel Esquematizador.
En el panel Detalles, configura los siguientes parámetros:
Desmarca Estadística para terminar. Esto elimina la condición de finalización de puntuación original, que sustituirás con el cronómetro.
Establece Tiempo para mostrar puntuación de la partida en 10 segundos.
Habilita la opción Primera columna de la tabla de puntuación y, a continuación, configúrala en Puntuación.
Utiliza el explorador de contenido para buscar el cronómetro y, a continuación, arrástralo al visor.
En el panel Detalles, establece Visible durante la partida en Oculto. Esto oculta el objeto cronómetro durante la partida, pero el tiempo sigue apareciendo en el HUD del jugador mientras está activo.
Utiliza el explorador de contenido para buscar el dispositivo de fin de partida y, a continuación, arrástralo al visor.
Cómo escribir código de Verse
En esta página encontrarás instrucciones paso a paso sobre los cambios que debes realizar en el código. No obstante, si deseas revisar tu trabajo, consulta la sección Código completo para ver el resultado final.
Abre el archivo
shooting_range_manager_device.verse.Añade las siguientes variables para almacenar las nuevas referencias del dispositivo y un habilitador lógico para realizar un seguimiento del estado del cronómetro.
Una variable habilitadora es una variable del código que sirve para comprobar si se ha cumplido una determinada condición.
IsTimerStartedes el habilitador en el que false representa «no» y true representa «sí».Verse@editable Timer:timer_device = timer_device{} @editable EndGame:end_game_device = end_game_device{} var IsTimerStarted:logic = falseAñade el método de devolución de llamada
OnTimerSuccess, que se llamará cuando el cronómetro se agote para finalizar la partida.El método OnTimerSuccess recibe un parámetro opcional de agente, que es el agente que activó el cronómetro, si lo hay. El dispositivo de fin de partida requiere un parámetro de agente no opcional para activarse, por lo que el agente opcional se convierte en no opcional en la declaración
if. Para obtener más información sobre los tipos de opciones, consulta opción.Verse# When time runs out, end the game. OnTimerSuccess(Agent:?agent):void= if (TriggerAgent := Agent?): EndGame.Activate(TriggerAgent)Añade el método StartTimer que configura la suscripción del cronómetro a la devolución de llamada OnTimerSuccess e inicia el cronómetro.
Verse# Setup and start the timer. StartTimer():void= # Set the event subscription to call OnTimerSuccess when the timer finishes. Timer.SuccessEvent.Subscribe(OnTimerSuccess) # Start the timer. Timer.Start() # Track that the timer has started. set IsTimerStarted = trueModifica el método AdjustScore para iniciar el cronómetro. De este modo, el jugador dispone de unos instantes para preparar su primer tiro y comenzar la partida.
Verse# Adjusts the player's score by the provided value. AdjustScore(Value:int):void= <# --- New Code Start --- #> # Start the timer if it hasn't started yet. if (not IsTimerStarted?): StartTimer() <# --- New Code End --- #>Guarda y compila tu código de Verse.
Código completo
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
# A device that manages shooting range gameplay.
shooting_range_manager_device := class(creative_device):
@editable
ScoreManager:score_manager_device = score_manager_device{}
@editable
Cómo juntarlo todo
Selecciona shooting_range_manager_device en el visor o en el panel Esquematizador.
En el panel Detalles, configura los siguientes parámetros:
Configura Timer en el dispositivo cronómetro.
Configura EndGame en el dispositivo de fin de partida.
Aplica los cambios y prueba tu isla.
Comprueba que el cronómetro se pone en marcha al disparar a cualquier objetivo.
Asegúrate de que, una vez que se agota el tiempo, la partida finaliza y se muestra el marcador.
¿Quieres más?
3. Objetivo de tiempo adicional
¡Recompensa a los jugadores con un objetivo adicional sorpresa capaz de añadir valiosos segundos al juego!