Nome:Criando uma HUD.
Autor:KLNMaker(fórum Total Maker's).
Introdução
Vim aqui trazer esse tutorial para ensinar a vocês a criar uma HUD sem usar sprite.
Mas por que eu fazeria isso se tem o health?
Simples pq o health só vai até o 100 ou seja se vc colocar health igual a 1000 ele automaticamente virará 100, é como se existisse um código assim:
- Código:
-
if health > 100
{
health = 100
}
Aí quando a pessoa coloca:
- Código:
-
health -= 250
O health vira 0 e ninguem sabe pq e quebram a cabeça tentando resolver alem do que vc teria que criar dois objetos um para MP e outro para HP, e jogo que se preze não teria só 100 de HP.
O que é uma HUD?
HUD são barras que representam geralmente o HP e MP do seu personagem que ficam em cima da tela.
Começando
Primeiro crie uma Fonte chamada "Hud" e deixe fonte "Arial" e deixe tamanho "15".
Agora crie um objeto chamado "Obj_Hud" e coloque isso no
Create - Código:
-
hp = 1000 //lembrando que você pode colocar o número que você quiser
maxhp = 1000 //lembrando que você pode colocar o número que você quiser
controlador = hp * 100 / maxhp
mp = 100 //lembrando que você pode colocar o número que você quiser
maxmp = 100 //lembrando que você pode colocar o número que você quiser
control = mp * 100 / maxhp
Ai vocês me perguntam: O que eu fiz?
Resposta: simples.
- Código:
-
hp = 1000 //lembrando que você pode colocar o número que você quiser
Criei a quantidade de "HP" atual do personagem.
- Código:
-
maxhp = 1000 //lembrando que você pode colocar o número que você quiser
Criei a capacidade máxima de "HP" do personagem.
- Código:
-
controlador = hp * 100 / maxhp
Transformei a quantidade de "HP" do personagem em porcentagem(recomendado para simplificar códigos)
- Código:
-
mp = 100 //lembrando que você pode colocar o número que você quiser
Criei a quantidade de "MP" atual do personagem
- Código:
-
maxmp = 100 //lembrando que você pode colocar o número que você quiser
Criei a capacidade máxima de "MP" do personagem.
- Código:
-
control = mp * 100 / maxmp
Transformei a quantidade de "MP" do personagem em porcentagem
Agora coloque isso no
Step:
- Código:
-
if hp > maxhp then {hp = maxhp}
if mp > maxhp then {mp = maxmp}
Agora vou explicar o que eu fiz:
- Código:
-
if hp > maxhp then {hp = maxhp}
coloquei que para o "HP" nunca ultrapasse a quantidade máxima.
- Código:
-
if mp > maxmp then {mp = maxmp}
Mesma coisa que a do "HP".
Agora vamos "Criar" a HUD.
Coloque isso no
Draw:
- Código:
-
draw_set_color(c_red)
draw_rectangle(35,30,controlador * 3,47,noone)
draw_set_color(c_white)
draw_set_font(Hud)
draw_text(0,27,"HP: ")
draw_set_color(c_blue)
draw_rectangle(35,60,control * 3,77,noone)
draw_set_color(c_white)
draw_set_font(Hud)
draw_text(0,57,"MP: ")
Agora vou explicar linha por linha:
- Código:
-
draw_set_color(c_red)
Tudo que vim abaixo ser vermelho.
- Código:
-
draw_rectangle(35,30,controlador * 3,47,noone)
Criando um a barra de HP(posiçao x inicial,posição y inicial,posição x final,posição y final,coloquei noone para esse retângulo não ser uma borda)
- Código:
-
draw_set_color(c_white)
tudo que vim abaixo ser branco cancelando o vermelho
- Código:
-
draw_set_font(Hud)
Implementando a fonte Hud que criamos no começo do tutorial
- Código:
-
draw_text(0,27,"HP: ")
Colocando o texto "HP" na tela
- Código:
-
draw_set_color(c_blue)
Tudo que vim abaixo ser azul cancelando o branco
- Código:
-
draw_rectangle(35,60,control * 3,77,noone)
Criando a barra de MP
- Código:
-
draw_set_color(c_white)
Tudo que vim abaixo ser branco cancelando o azul
- Código:
-
draw_set_font(Hud)
Incluindo a fonte que criamos no começo do tutorial.
- Código:
-
draw_text(0,57,"MP: ")
Criando o texto "MP" na tela.
Para terminar coloque esse objeto em qualquer lugar na room que queira e é só testar o jogo e pronto sua HUD está lá.
Espero que tenham gostado desse tutorial.
Qualquer duvida poste.