Contadores podem ser muito úteis na hora de criarmos as mecânicas e funcionalidades em nossos jogos.
Pois, podem ser feitos de forma simples e dão ao programador um excelente controle sobre seu script.
E neste artigo você entenderá as vantagens de contadores e como poderá criar o seu de forma simples e eficaz.
Contadores: Precisão e Controle
A criação de um contador personalizado permite aos desenvolvedores um controle preciso sobre os scripts.
Pois, ao utilizar contadores internos nos scripts, é possível definir intervalos de tempo específicos.
E dessa forma ativar a execução de funções ou disparos de comandos em determinado tempo.
E permitindo que as funções sejam acionadas no momento exato desejado.
Por exemplo, definindo o tempo de invencibilidade do jogador após receber um dano.
E determinado períodos de disparos de ataques de inimigos, timer para uma porta se abrir ou fechar, etc.
E os contadores personalizados também fornecem controle sobre o fluxo do jogo.
Por exemplo, é possível criar um contador que acione eventos específicos após o jogador completar uma tarefa.
E dessa forma, é controlar a progressão do jogo, recompensar o jogador com desafios adicionais, etc.
Mas, em resumo os contadores podem ser aplicados em inúmeras situações e criações de mecânicas dos seus jogos.
Melhoria da Eficiência:
Ao implementar contadores personalizados nos scripts, os desenvolvedores podem melhorar a eficiência do código.
E depender menos de métodos de temporização já existentes, mas que podem ter um certo custo de processamento.
Por exemplo, é comum fazermos muito o uso de Invokes, em nossos códigos, ou até mesmo Invoke Repeating.
E o Invoke chama a Função que você especificar, uma vez, esperando o tempo que passar no parâmetro.
E já o Invoke Repeating faz o mesmo, porém, ao invés de chamar apenas uma vez, ele chamará infinitamente.
Mas, respeitando o tempo que você definir, por exemplo, de 2 em 2 segundos, ou de 10 em 10, etc.
Só que sempre que esse Invoke é chamado, acontece um uso maior de processamento no sistema, por exemplo.
E isso prejudica um pouco a performance do seu game, e poderia ser substituído facilmente por um contador personalizado.
Como criar um Contador?
Existem inúmeras formas, porém, usaremos uma bem simples de se fazer, e muito útil pela eficiência e praticidade.
E aqui você pode usar duas variáveis Floats, uma para ser o cronometro, e outra para definir o tempo desejado.
Por exemplo, podemos nomeá-las conforme seu proposito, contador e tempoMaximo.
E agora você precisa ir até à função Update e fazer o incremento ou decremento do contador pelo Time.DeltaTime.
E isso vai depender do seu objetivo com esse contador, mas aqui no exemplo faremos o incremento.
Pois, pela lógica a variável contador começará em zero e a cada segundo aumentara seu valor.
E quando chegar ao valor máximo que definirmos na variável tempoMaximo, poderemos fazer algo.
E é só fazer um if verificando se a variável contador é maior ou igual ao valor da variável tempoMaximo.
Pois, quando for maior, o if será lido, e dentro dele passaremos o valor de contador para zero.
E será executado tudo que está dentro desse if, seja um comando ou mesmo chamar uma função especifica.
E como a variável contador foi zerada, ela reiniciará a contagem do tempo, fazendo um loop.
A cada 10 segundos, por exemplo, executará o que desejarmos dentro do if, fala ai se não foi moleza?
A utilização de contadores personalizados nos scripts da Unity oferece uma série de vantagens.
E ao aproveitar essas vantagens, você poderá criar funções especificas que serão disparadas no momento necessário.
E sem ter um custo de processamento a mais desnecessário por usar funções mais complexas.
Seja o primeiro a comentar.