In questo passaggio, potrai creare un sistema timer in Verse che utilizza i dispositivi Timer e Fine partita. Il timer si avvia quando il giocatore colpisce un bersaglio e, una volta scaduto, il gioco termina e vengono visualizzati i punteggi.
Sebbene sia possibile terminare la partita con un timer tramite le Impostazioni dell'isola o tramite i dispositivi, l'utilizzo di Verse aumenta il controllo sulle meccaniche di gioco che utilizzi.
Modifica la tua isola
Seleziona il dispositivo Impostazioni Isola nella viewport o nel pannello Outliner.
Nel pannello Dettagli imposta i seguenti parametri:
Deseleziona Statistica per finire. In questo modo verrà rimossa la condizione di fine punteggio originale, che sarà sostituita dal timer.
Imposta Tempo visualizzazione punteggio gioco a 10 secondi.
Abilita Prima colonna della classifica, poi imposta su Punteggio.
Usa Esplora contenuti per trovare il Dispositivo timer, poi trascinalo nella viewport.
Nel pannello Dettagli, imposta Visibile in gioco su Nascosto. In questo modo l'oggetto timer viene nascosto durante il gioco, ma il tempo continua a essere visualizzato sull'HUD del giocatore quando è attivo.
Usa Esplora contenuti per trovare Dispositivo Fine partita, poi trascinalo nella viewport.
Scrivi il codice Verse
Questa pagina ti guida passo dopo passo attraverso le modifiche al codice; tuttavia, se desideri controllare il tuo lavoro, rivedi la sezione
Apri il file
shooting_range_manager_device.verse.Aggiungi le seguenti variabili per memorizzare i nuovi riferimenti al dispositivo e un flag logico per tenere traccia dello stato del timer.
Una variabile flag si riferisce a una variabile nel codice che esiste per monitorare se una determinata condizione è stata soddisfatta.
IsTimerStartedcorrisponde al flag, in cui false rappresenta "no" e true rappresenta "sì".Verse@editable Timer:timer_device = timer_device{} @editable EndGame:end_game_device = end_game_device{} var IsTimerStarted:logic = falseAggiungi il metodo di callback
OnTimerSuccess, che verrà chiamato allo scadere del timer per terminare il gioco.Il metodo OnTimerSuccess riceve un parametro agente facoltativo, corrispondente all'agente che ha attivato il timer, se presente. Il dispositivo Fine partita richiede un parametro agente non opzionale per attivarsi, quindi l'agente opzionale viene convertito in non opzionale nell'istruzione
if. Per maggiori informazioni sui tipi di opzioni, vedi la sezione sulle opzioni.Verse# When time runs out, end the game. OnTimerSuccess(Agent:?agent):void= if (TriggerAgent := Agent?): EndGame.Activate(TriggerAgent)Aggiungi il metodo StartTimer che imposta la sottoscrizione del timer al callback OnTimerSuccess e avvia il timer.
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 il metodo AdjustScore per avviare il timer. Questo permette al giocatore di preparare il primo colpo per iniziare la partita.
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 --- #>Salva e crea il tuo codice Verse.
Codice 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
Unisci tutti gli elementi
Seleziona shooting_range_manager_device nella viewport o nel pannello Outliner.
Nel pannello Dettagli imposta i seguenti parametri:
Imposta Timer al dispositivo Timer.
Imposta EndGame al dispositivo Fine partita.
Applica le modifiche ed esegui un playtest sulla tua isola.
Verifica che il timer si avvii quando si spara a un bersaglio.
Verifica che, una volta scaduto il tempo, la partita termini e che venga visualizzato il segnapunti.
Vuoi saperne ancora di più?
3. Bersaglio tempo di bonus
Sorprendi i giocatori con un bersaglio bonus che aggiunge secondi preziosi alla partita!