🤔 Para Refletir :
"Refatorar o código é como usar inseticida: Elimina bugs."
- Mayleone

Aula #3: HP HUD

RyanKamos

Coração Valente
Membro
Membro
Juntou-se
01 de Abril de 2015
Postagens
2.540
Bravecoins
22
ubAJxTp.png


Aula #3: HP HUD
~RPG Maker~

Imagens Utilizadas
jV7KPsY.png
- HP
7wdnq4g.png
- HP Full


Switchs e Variaveis
Switch: Aula #3 (Ativa o sistema)
Variável: HP (Quantidade de HP)
Variável: MHP (Quantidade máxima de HP)


Créditos pelas imagens: Legend of Zelda: Phantom Hourglass



Muitos jogos que utilizam ABS (Action Battle System) mostram a vida (HP) do herói na tela.
Nesta aula ensinarei como criar esta "Barra de HP" estilo Zelda
Sim, aquele que são vários coraçõezinhos xD
Você pode utilizar a base deste sistema para criar outros estilos de HUD.​

Criando as imagens

Criaremos o sistema em um Evento Comum, paralelo e ativado por switch.
Começaremos criando suas imagens da tela.
Utilizaremos a imagem HP para quando estiver com a vida vazia e utilizaremos a imagem HP_Full para quando estiver com a vida cheia.
Crie primeiro o fundo (HP) na posição que desejar da tela e logo depois crie a vida (HP_Full) na mesma posição. Deixe a opacidade do HP_Full = 0.
Repita este processo mais duas vezes, assim teremos 3 HP para o personagem.​

pEciBNG.png

Criando sua vida

Utilizaremos a variável HP para contar quanto de HP o herói têm e utilizaremos a variável MHP para contar qual o máximo de HP que o herói pode ter.
Crie a variável MHP e iguale à 3. Este será o máximo de HP que teremos. Cada coração equivale à 1 ponto desta variável.
A variável HP terá que ser definida no mapa do seu jogo, logo quando criar iniciar na história. Por que? Bem, se colocarmos neste evento comum, o HP do herói sempre vai se recuperar ao entrar em um novo mapa.
Por isso, lembre-se de igualar a variável HP à 3 no seu jogo.​

KymLUxv.png

Checando Valores

Agora começaremos a checar os valores que criamos.
Crie uma label (Begin) e coloque um Esperar 1 Frame.
Crie uma condição com a variável HP > MHP, sem exceção, e dentro dela coloque para igualar a variável HP à variável MHP.
Isso fará com que, caso você recupere o HP mesmo estando cheio (3), ele retorne a 3 e não aumente mais do que deveria.​

gW0JLpL.png

Feito isso, criaremos as condições para checar seu HP.
Crie uma condição para checar caso seu HP <= 0 e coloque dentro da condição um Mostrar imagem para definir a opacidade 0 para o 1º coração (Imagem_2). Assim, caso você morra, o sistema não irá bugar e deixar de tirar o último coração. Adicione também um chamar Game Over depois, assim, caso seu HP chegue à 0, você morrerá.
Crie uma condição para a variável HP <= 0 (o valor é menor ou igual à para caso você leve um dano alto e perca mais HP do que têm, assim não bugando o sistema), sem exceção, e dentro da condição mova a imagem 2 (1º Coração) para definir sua opacidade para 0 e logo depois adicione um Chamar Game Over, para que o jogador morra ao chegar à 0. Adicione um Chamar Label Begin.
Crie uma condição para a variável HP <= 1, sem exceção, e dentro da condição mova a imagem 4 (2º Coração) para definir sua opacidade para 0 e logo depois adicione um um Chamar Label Begin.
Crie uma condição para a variável HP <= 2, sem exceção, e dentro da condição mova a imagem 6 (3º Coração) para definir sua opacidade para 0 e logo depois adicione um um Chamar Label Begin.
Crie uma condição para a variável HP <= 3, sem exceção, e dentro da condição mova todas as imagem (2,4 e 6) para definir sua opacidade para 255, para que quando iniciar o jogo você tenha todos os corações cheios e logo depois adicione um um Chamar Label Begin.
Adicione o Chamar Label Begin depois das condições para finalizar o sistema.​

GtSBedC.png

Finalizando


Então é isso pessoal, com estas instruções vocês serão capazes de criar barras de HP com imagens fixas e únicas.
Estarei deixando dois desafios para vocês, um para iniciantes e um para avançados.
Gostaria da participação de todos e do feedback aqui \o
Para aqueles que forem tentar fazer o sistema, postem uma screenshot de como ficou em seu jogo.
Utilizem também outros meios de se fazer isso.​

As aulas agora não têm data marcada para serem publicadas,
porém é por padrão ter aulas novas toda semana.
 
Parece interessante a aula, quando eu terminar de produzir o banco de dados do meu jogo eu vejo ela.
Agora, eu tenho uma dúvida mestre Ryan: tem como substituir os coraçõezinhos por números?

Valeu, falooooou!!
 
Gostei muito da sua aula, bem rápida e explicativa, mas tenho uma duvida
porque tem que esperar 1 frame depois da Label?
 
AGS comentou:
Parece interessante a aula, quando eu terminar de produzir o banco de dados do meu jogo eu vejo ela.
Agora, eu tenho uma dúvida mestre Ryan: tem como substituir os coraçõezinhos por números?

Valeu, falooooou!!

Tem sim, mas os códigos são diferentes. Você precisará fazer a distribuição de valores que têm na aula 2.
Na próxima eu ensino xD

Revox comentou:
Gostei muito da sua aula, bem rápida e explicativa, mas tenho uma duvida
porque tem que esperar 1 frame depois da Label?

O sistema precisa respirar, caso contrário ele checará tudo rapidamente sem dar pausa, travando o personagem.
Na verdade você precisa colocar esse "Esperar 1 frame" em todo ciclo que criar.
 
Voltar
Topo Inferior