Conectar-se
Quem está conectado
22 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 21 Visitantes

theokof98

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 30/08/2013
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

[Resolvido] Dificuldade para cria barra de life

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.
avatar
Data de inscrição : 11/07/2013
Número de Mensagens : 72
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuáriohttp://gmrds.blogspot.com

Re: [Resolvido] Dificuldade para cria barra de life

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)
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Dificuldade para cria barra de life

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
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido] Dificuldade para cria barra de life

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.
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Dificuldade para cria barra de life

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
avatar
Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 73

Prêmios
   : 3
   : 1
   : 3
Ver perfil do usuário

Re: [Resolvido] Dificuldade para cria barra de life

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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 24/11/2009
Número de Mensagens : 803
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 10

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Dificuldade para cria barra de life

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
avatar
Data de inscrição : 30/08/2013
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Resolvido] Dificuldade para cria barra de life

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum