Nesta etapa, você criará um sistema de temporizador em Verse que usa os dispositivos Temporizador e Fim de Jogo. O temporizador começará quando a pessoa acertar qualquer alvo, e terminará e exibirá o placar quando o tempo acabar.
Embora seja possível terminar o jogo com um temporizador nas Configurações da Ilha ou apenas com dispositivos, usar Verse aumenta seu controle sobre as mecânicas do jogo que você usa.
Modifique sua ilha
Selecione o dispositivo Configurações da Ilha na janela de visualização ou no painel Organizador.
No painel Detalhes, defina os seguintes parâmetros:
Desmarque Estatística ao Terminar. Assim, removemos a condição final de pontuação original, que substituiremos pelo temporizador.
Defina o Tempo de Exibição da Pontuação do Jogo como 10 segundos.
Habilite a Primeira Coluna da Tabela de Pontuação e defina como Pontuação.
Use o Navegador de Conteúdo para localizar o dispositivo Temporizador e arraste-o para a janela de visualização.
No painel Detalhes, defina Visível Durante o Jogo como Oculto. Assim, você oculta o objeto temporizador durante o jogo, mas o tempo ainda será exibido no HUD de jogo enquanto ele estiver ativo.
Use o Navegador de Conteúdo para localizar o dispositivo Fim de Jogo e arraste-o para a janela de visualização.
Escreva o código Verse
Esta página apresenta um passo a passo sobre as alterações no código, mas se quiser verificar seu trabalho, revise a seção Código Completo para ver o resultado final.
Abra o arquivo
shooting_range_manager_device.verse.Adicione as seguintes variáveis para armazenar as novas referências de dispositivo e um sinalizador lógico para rastrear o estado do temporizador.
Uma variável de sinalizador se refere a uma variável no seu código que existe para rastrear se uma determinada condição foi atendida.
IsTimerStartedé o sinalizador aqui onde false representa "não" e true representa "sim".Verse@editable Timer:timer_device = timer_device{} @editable EndGame:end_game_device = end_game_device{} var IsTimerStarted:logic = falseAdicione o método de retorno de chamada
OnTimerSuccess, que será chamado quando o temporizador acabar para encerrar o jogo.O método OnTimerSuccess recebe um parâmetro de agente opcional, que é o agente que ativou o temporizador, se houver. O dispositivo Fim de Jogo requer um parâmetro de agente não opcional para ser ativado, então o agente opcional é convertido em não opcional na declaração
if. Consulte mais informações sobre tipos de opções em opção.Verse# When time runs out, end the game. OnTimerSuccess(Agent:?agent):void= if (TriggerAgent := Agent?): EndGame.Activate(TriggerAgent)Adicione o método StartTimer que configura a assinatura do temporizador para o retorno de chamada OnTimerSuccess e inicia o temporizador.
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 = trueModifique o método AdjustScore para iniciar o temporizador. Assim, damos à pessoa jogadora um momento para preparar o primeiro tiro e começar o jogo.
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 --- #>Salve e compile seu 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
Reunindo as partes
Selecione shooting_range_manager_device na janela de visualização ou no painel Organizador.
No painel Detalhes, defina os seguintes parâmetros:
Defina o Timer como o dispositivo Temporizador.
Defina EndGame como o dispositivo Fim de Jogo.
Envie suas alterações e teste sua ilha.
Verifique se o temporizador é iniciado quando se atira em algum alvo.
Verifique se, quando o tempo acabar, o jogo termina e o placar é exibido.
Tudo pronto para mais?
3. Alvo de tempo bônus
Recompense as pessoas com uma meta extra surpresa que pode adicionar segundos preciosos ao jogo!