Santana
Novato
Novato
Autor
Mensagens: 8
Registrado em: Qui Abr 23, 2020 2:55 pm
Karma: 36
Contato:

Problema com barra de vida

Sáb Mai 02, 2020 9:47 am

Fiz a seguinte imagem para usar como barra de vida, segui um tutorial aqui do fórum mas acabou não adiantando nada, como faço pra tornar essa barra funcional? Os inimigos irão dar danos aleatórios, então queria que a barra desça de acordo com esses danos aleatórios, sem precisar fazer sprite por sprite, tem um jeito ou só na raça mesmo?
Imagem
1

Tags:
 
Avatar do usuário
All-x
Administrador
Administrador
Mensagens: 559
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 3042

Contato:

Re: Problema com barra de vida  Tópico resolvido

Sáb Mai 02, 2020 1:21 pm

Não precisa ser na marra, afinal os danos são aleatórios. Tente isso:

- Remova as barras (vermelha e azul) da imagem (Ou seja, deixe-as transparentes);
- Desenhe primeiro as barras utilizando draw_healthbar;
- Em seguida desenhe a imagem.

No código seria mais ou menos assim (No evento Draw Gui):

// Barra de vida
draw_healthbar(109, 28, 261, 40, health, c_black, c_red, c_red, 0, true, false);

// Barra de magia
draw_healthbar(109, 46, 261, 58, global.magia, c_black, c_red, c_red, 0, true, false);

// Imagem
draw_sprite(spr_hud, 0, 0, 0);


Veja que health é uma variável global já embutida no GM, e global.magia deve ter sido declarada antes em algum evento de inicialização (Create, Game Start, Room Start, etc). Essas variáveis devem sempre ter o valor entre 0 e 100 pra funcionar com a função draw_healthbar.

Veja as referências:

draw_healthbar

Escopo das variáveis

Espero que ajude.

Abraços
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
Rodrigo_GM
Membro
Membro
Mensagens: 23
Registrado em: Dom Set 03, 2017 12:30 pm
Karma: 88

Re: Problema com barra de vida

Sáb Mai 02, 2020 3:17 pm

Olá, O Alex já ajudou, mas se acaso vc queira usar uma função mais manual, por assim dizer. Vou deixa um opção logo abaixo.

  • Remova as barras (vermelha e azul) da imagem (Ou seja, deixe-as transparentes);
  • Desenhe primeiro as barras utilizando draw_rectangle no draw GUI, como ta no codigo logo abaixo, mas se vc só copiar e colar n vai da certo, vc terá que adaptar para seu jogo. É bem simples, só tem que troca algumas coisinhas que estão marcadas
  • Em seguida desenhe a imagem. /// isso ai não fiz, o codigo abaixo é so da barra de vida

Com essa opção seu life poderá ter mais de 100, diferente do draw_healthbar, que se limitar a 100;

Codigo: Clique para ver o conteúdo
1
 
Santana
Novato
Novato
Autor
Mensagens: 8
Registrado em: Qui Abr 23, 2020 2:55 pm
Karma: 36
Contato:

Re: Problema com barra de vida

Sáb Mai 02, 2020 7:10 pm

Entendi, tá dando certo, só tô com problema agora na posição da barra, mas aí acredito que seja tentativa e erro. Eu separei as sprites de sangue e mana no mesmo tamanho da base de vida, tem como desenhar a healthbar usando a sprite pra evitar a parte da tentativa e erro?
1
 
Avatar do usuário
All-x
Administrador
Administrador
Mensagens: 559
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 3042

Contato:

Re: Problema com barra de vida

Sáb Mai 02, 2020 7:39 pm

Santana escreveu:
Entendi, tá dando certo, só tô com problema agora na posição da barra, mas aí acredito que seja tentativa e erro. Eu separei as sprites de sangue e mana no mesmo tamanho da base de vida, tem como desenhar a healthbar usando a sprite pra evitar a parte da tentativa e erro?


Por que tentativa e erro? Nada disso, é exato. Só olhar a posição na sprite e posicionar. É tudo medido em pixels. Abra a imagem no editor de sprites ou no próprio Paint e veja as coordenadas onde a barra começa e termina. No código que postei utilizei as coordenadas da imagem que postou (X1: 109, Y1: 28, X2: 261, Y2: 40).

A não ser que esteja usando outra imagem (Sem borda alguma, por exemplo), trocado a origin (Centro), ou tenha redimensionado ela no jogo deve encaixar exatamente.

Lógico, você pode usar o draw_sprite_part, só com a imagem da barra. Mas vai dar no mesmo, tu vai ter que posicionar ela também.

Não é um esforço hercúleo, até porque vai fazer isso uma vez só.
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Santana
Novato
Novato
Autor
Mensagens: 8
Registrado em: Qui Abr 23, 2020 2:55 pm
Karma: 36
Contato:

Re: Problema com barra de vida

Sáb Mai 02, 2020 7:48 pm

Não entendi muito bem o motivo, é que os numeros não tavam batendo muito bem com a sprite, fiquei meio "ué", mas consegui, numa próxima vai ficar bem mais simples fazer agora que já sei, bem, ajudou pra caramba, valeu