[Resolvido] Dificuldade para cria barra de life

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido] Dificuldade para cria barra de life

Mensagem por killer118 em Sex 22 Nov 2013, 12:41

Boa tarde,

Preciso de uma ajuda, preciso criar uma barra de life para meu chefe e estou com o seguinte problema, segui um tutorial de um cara usando o draw_rectangle, e meu codigo ficou assim:
no evento draw:
Código:
draw_set_color(cor_da_linha)
draw_rectangle(view_xview+400,740,view_xview+1000,760,true)
draw_set_color(cor_da_barra)
draw_rectangle(view_xview+400,742,50+(view_xview+950*(global.saude_atual/global.saude_total)),760,false)
o que esta acontecendo é a barra diminui mas que o limite, esta descendo muito rapido e ultrapassa a linha.
como eu poderia arrumar esse problema?
mais um detalhe minha barra não começa na ponta da view e sim +- no meio dela, esse deve ser o problema.
desde já agradeço.

killer118

Número de Mensagens : 14
Data de inscrição : 30/08/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por david199 em Sab 23 Nov 2013, 12:11

você quer fazer uma barra de vida na view certo?
basta colocar sua posição apenas x e y view nada mais nada menos coloque a posição e ajeite o retângulo assim:
no draw coloque esse código:

Código:

draw_set_color(c_black)//cor da linha é preta ou a cor que desejar
draw_rectangle(view_xview,view_yview,view_xview+100,view_yview+30,true)//desenha o retângulo apenas a linha dele
draw_set_color(c_green)//cor da vida aqui está verde mais vc pode mudar
draw_rectangle(view_xview,view_yview+30,view_xview+global.vida,view_yview-20,false)//declara que a vida será verde, perdendo a vida o retângulo verde diminuirá
já no create coloque assim:
Código:
global.vida=100
no step vc tem que colocar tipo se a vida é menor ou igual a 0 acontece algo.
e colocar se a barra de vida é maior ou igual a 100 vida =100 assim
no evento step:
Código:
if global.vida<=0{global.vida=0}//ação desejada
if global.vida>=100{global.vida=100}
e é isso ai obs: não copie o código estude-o ai vc vai arender como fazer barras de vida e se superar, pelo menos essa é minha filosofia:"estude, e supere-se"


Última edição por david199 em Sab 23 Nov 2013, 13:24, editado 1 vez(es)

david199

Número de Mensagens : 72
Idade : 15
Data de inscrição : 11/07/2013
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gmrds.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por Gabreel em Sab 23 Nov 2013, 12:45

Não copie o código do david, apenas entenda.

Você tem duas variáveis, uma chamada global.saude_atual e outra global.saude_total.

Você precisa garantir que ela não seja negativa e que não seja mais que a saúde máxima, portanto:

STEP
Código:
if global.saude_atual < 0 global.saude_atual = 0
if global.saude_atual > global.saude_total global.saude_atual = global.saude_total

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por Willy em Sab 23 Nov 2013, 12:59

Nossa, pra quê tanto código pra uma simples barra de vida? É muito mais fácil usar draw_healthbar, isso se você quiser uma "barra padrão", ou seja, a famosa barrinha retangular. Caso queria uma barra mais complexa, ai vai na base do draw mesmo. Existem alguns tutoriais sobre isso.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por itarodrigo em Sab 23 Nov 2013, 21:32

Como usar a draw_healthbar caso ainda não saiba:

Código:
draw_healthbar(x1, y1, x2, y2, amount, backcol, mincol, maxcol, direction, showback, showborder);
x1 = A coordenada x da esquerda da barra
y1 = A coordenada y do topo da barra
x2 = A coordenada x da direita da barra
y2 = A coordenada y da base da barra
amount = A variável que define quão cheia a barra está (deve ser entre 0 e 100)
backcol = Cor de fundo da barra
mincol = Cor que a barra terá quando estiver vazia (0)
maxcol = Cor que a barra terá quando estiver cheia (100)
direction = Indica o lado para qual a barra irá diminuir (0 = esquerda, 1 = direita, 2 = topo, 3 = base)
showback = Se quiser mostrar a cor de fundo, deixe (true) se não quiser, deixe (false). Se estiver 'false', o argumento backcol será desativado
showborder = Se você quiser que a barra mostre uma borda deixe (true) se não quiser, deixe (false).

EX:
Código:

draw_healthbar(100, 100, 500, 200, pc, c_black, c_red, c_lime, 0, true, true)
Nesse exemplo, a barra será desenhada, com as seguintes características:
-tendo início a 100px da esquerda da tela
-100px do topo da tela
-terá 400px de largura (500-100)
-terá 100px de altura (200-100)
-pc é a variável onde está o HP do personagem
-cor de fundo preta (c_black)
-cor vermelha quando estiver baixa (c_red)
-cor lima quando estiver cheia (c_lime)
-irá diminuir para a esquerda
-irá mostrar a cor de fundo preta
-irá mostrar a borda

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por Rodrigo Santiago em Sab 23 Nov 2013, 22:38

OPA PERAI!
ERRO MUITO COMUM!
obs.: Se você quiser fazer uma barra de life com o draw.

Nunca use outline!

Aqui vai um código bem fácil:
Eu costumo fazer assim:
Código:

x1=100;//Onde começa em x
y1=100;//Onde comeca em y
y2=110;//Onde Termina em y(visto a barra ser horizontal)
vidaTotal=250;
vidaAtual=250;
tamanho=100;//Tamnho da barra de vida em x(largura)

draw_rectangle_color(x1,y1,x1+tamanho+1,y2,c_black,c_black,c_black,c_black,-1);
draw_rectangle_color(x1+1,y1+1,x1+(vidaAtual/vidaTotal)*(tamanho),y2,c_red,c_red,c_black,c_black,-1);
Aqui primeiro é desenhado um retângulo PREENCHIDO no fundo, depois por cima se desenha um retângulo preenchido , que varia de acordo com a vida;

Não interessa o tanto de vida ou da barra de vida, ela sempre irá acompanhar, mesmo que você mude o valor da vidaTotal.

Se você desenhar um retângulo outline, se você usar views e esticar a tela você terá um grande erro, mesmo que a tela seja duplicada, outline vai desenhar com grossura de 1 pixel.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por Limalokão em Dom 24 Nov 2013, 12:37

Dá uma olhada aqui amigo! Very Happy Engine RPG - Básicos Lá tem barra de vida personalizada Smile

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por killer118 em Seg 25 Nov 2013, 08:49

Olá pessoal, agradeço pela ajuda, mas eu não apenas copiei eu adaptei para poder usa no meu jogo, eu estudei para ver como funcionava mas a logica desse código era diferente do que eu queria por isso pedi uma ajuda para mudar a logica apenas isso, mas de todo modo eu resolvi usar de outra maneira para não precisar mudar o código, novamente obrigado pela ajuda e pode encerrar o tópico.

killer118

Número de Mensagens : 14
Data de inscrição : 30/08/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Dificuldade para cria barra de life

Mensagem por Conteúdo patrocinado Hoje à(s) 00:30


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum