En este paso, vas a crear un sistema temporizador en Verse que utiliza los dispositivos de temporizador y terminar partida. El temporizador arranca con el primer acierto y, al agotarse, muestra el marcador y finaliza la partida.
Si bien puedes terminar la partida en un temporizador con los ajustes de la isla o solo con los dispositivos, si usas Verse, tienes más control sobre la mecánica del juego que utilizas.
Modifica tu isla
Selecciona el dispositivo Ajustes de isla en el visor o el panel del esquematizador.
En el panel de detalles, establece los siguientes parámetros:
Desmarca la casilla Estadística para terminar. Esto elimina la condición original de finalización por puntuación, que reemplazarás por el cronómetro.
Establece Tiempo para mostrar el puntaje de la partida en 10 segundos.
Habilita Primera columna del marcador, luego, establece en Puntaje.
Utiliza el explorador de contenido para encontrar el dispositivo de cronómetro, luego, arrástralo hacia el visor.
En el panel de detalles, establece Visible durante la partida en Oculto. Esto oculta el objeto del cronómetro durante la partida, pero el tiempo se sigue mostrando en el HUD del jugador mientras está activo.
Utiliza el explorador de contenido para encontrar el dispositivo de terminar partida, luego, arrástralo hacia el visor.
Escritura de código Verse
En esta página, se te guía paso a paso para realizar los cambios en el código, pero si quieres comprobar 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 referencias del nuevo dispositivo y una bandera lógica para realizar el seguimiento del estado del cronómetro.
Una variable bandera se refiere a una variable que usas en el código para comprobar si se cumplió una determinada condición.
IsTimerStartedes la bandera donde 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, al cual se llamará cuando se agote el tiempo del cronómetro para terminar la partida.El método OnTimerSuccess recibe un parámetro de agente opcional, que es el agente que activó el cronómetro, si lo hubiera. Para activarse, el dispositivo de terminar partida requiere un parámetro de agente no opcional, por eso, el agente opcional se cambia a no opcional en la declaración
if. Consulta opción para obtener más información sobre los tipos de 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 en 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. Esto le da al jugador un momento para preparar su primer disparo y comenzar el juego.
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 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
Intégralo
Selecciona shooting_range_manager_device en el visor o el panel del esquematizador.
En el panel de detalles, establece los siguientes parámetros:
Establece Cronómetro en el dispositivo de cronómetro.
Establece EndGame en el dispositivo de terminar partida.
Envía tus cambios y realiza una prueba de juego de tu isla.
Asegúrate de que el cronómetro se inicie cuando dispares a cualquier objetivo.
Verifica que, una vez que se agote el cronómetro, la partida finalice y aparezca el marcador.