Aula #3: HP HUD
~RPG Maker~
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
porém é por padrão ter aulas novas toda semana.