Conteúdo do Curso
Jogo de Luta no Unity
Jogo de Luta no Unity
Barra de Saúde da UI
A classe Player inclui código para atualizar a interface da barra de saúde com base na saúde atual do jogador. Isso é gerenciado através de três variáveis: UIHealthTransform
, HealthUIScale
e startingHealthUIWidth
. Abaixo está uma explicação de como essas variáveis são usadas para gerenciar a barra de saúde.
Script para Barra de Saúde
Inicialização no Método Start
No método Start
, o tamanho inicial da barra de saúde é capturado e armazenado.
Atualização de Saúde no Método GetAttacked
O método GetAttacked
atualiza a interface da barra de saúde sempre que o jogador sofre dano.
Redução de Saúde:
A saúde do jogador é reduzida pela quantidade de dano sofrido.
Cálculo da Escala da Barra de Saúde:
Explicação
Esta linha de código atualiza a largura da barra de saúde com base na saúde atual do jogador. Veja como funciona:
Saúde:
health
é um float que representa a saúde atual do jogador. Vamos supor que varia de 0 a 100.
Largura Inicial da Barra de Saúde:
startingHealthUIWidth
é um float que representa a largura inicial da barra de saúde quando o jogador está com saúde total.
Escalonamento da Largura da Barra de Saúde: O objetivo é reduzir proporcionalmente a largura da barra de saúde à medida que a saúde do jogador diminui; Para isso, é necessário calcular qual porcentagem da saúde do jogador permanece e então aplicar essa porcentagem à largura inicial da barra de saúde.
Cálculo Passo a Passo
Porcentagem de Saúde Restante:
Divida a saúde atual por 100 para obter um valor entre 0 e 1 que representa a porcentagem da saúde do jogador restante. Por exemplo, se a saúde do jogador for 75, health / 100f
resultaria em 0.75
.
Este cálculo traduz o valor da saúde em um formato de porcentagem adequado para representação na interface.
Aplicar Porcentagem à Largura Inicial:
Multiplique a porcentagem de saúde restante pela largura inicial da barra de saúde. Por exemplo, se o startingHealthUIWidth
for 200 (a largura total), e a saúde do jogador for 75%, a nova largura da barra de saúde seria 150 unidades (0.75 * 200 = 150
).
Usando este cálculo, a largura da barra de saúde representa de forma dinâmica e precisa a saúde atual do jogador, fornecendo um feedback visual claro para o jogador.
Atualizar UI da Barra de Vida:
O tamanho do RectTransform
que representa a barra de vida é atualizado.
Verificar Morte do Jogador:
Se a saúde cair para 0 ou menos, o jogador é marcado como morto, e a animação de morte e as partículas são acionadas.
Resumo da Funcionalidade da UI da Barra de Vida
Inicialização: O tamanho inicial da barra de vida é capturado no início.
Atualização da Barra de Vida: Quando o jogador sofre dano, o valor da saúde é diminuído, e a largura da barra de vida é recalculada e atualizada de acordo.
Morte do Jogador: Se a saúde chegar a zero, o jogador é marcado como morto, acionando a animação de morte e as partículas, e finalizando o jogo.
Obrigado pelo seu feedback!