Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Fazendo uma barra com draw_rectangle
+3
Mestre Moscoso
hidramaster
Pit Bull
7 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Fazendo uma barra com draw_rectangle
Olá amigos
Hoje vou postar esse tutorial muito simples mais que pode ajudar muitas pessoas com o famoso draw_rectangle.
Vou criar uma barra de sangue e explicar como funciona.
1º : Abra um novo projeto para você entender melhor.
2º : Crie um objeto e nomeio como display.
3º : Crie o evento create,clique em control e procure o code,nele vai estar a opção execute code,arraste ela para action
4º : Escreva o seguinte código:
6º :
Sé você acompanhou detalhada-mente cada passo, agora clique na seta verde(run the game) para testar a barra.
Se mesmo assim der algo errado poste o erro.
Hoje vou postar esse tutorial muito simples mais que pode ajudar muitas pessoas com o famoso draw_rectangle.
Vou criar uma barra de sangue e explicar como funciona.
1º : Abra um novo projeto para você entender melhor.
2º : Crie um objeto e nomeio como display.
3º : Crie o evento create,clique em control e procure o code,nele vai estar a opção execute code,arraste ela para action
4º : Escreva o seguinte código:
- Código:
cor_da_linha=c_black //eu escolhi a cor da linha de preto mais você pode mudar
cor_da_barra=c_red //eu escolhi a cor da barra de vermelho mais você pode mudar
sangue_atual=67 //mude depois para qualquer valor abaixo do sangue_total para ver a diferença
sangue_total=100 //É o maximo que o sangue pode ir
6º :
- Código:
draw_set_color(cor_da_linha) //Você também pode colocar direto mais,para não confundir coloque separado no evento create
draw_rectangle(50,370,590,385,true) //o 50 é para a posição inicial do x,370 é para a posição inicial do y,590 é para a posição final do x,385 é para a posição final de y,true é para que seja desenhada uma linha em vez de uma barra
draw_set_color(cor_da_barra) //Você também pode colocar direto mais,para não confundir coloque separado no evento create
draw_rectangle(50,370,50+(540*(sangue_atual/sangue_total)),385,false) //50 é para a posição inicial do x,370 é para a posição inicial do y.
//A 3º parte para mostrar onde a barra estará em relação ao sangue,50+ é o inicio(para que quando o sangue chegar em 0 não ultrapasse a barra)
//540 é o número final(para que quando o sangue chegar em 100 não ultrapasse a barra),vezes o valor da porcentagem do sangue(por exemplo o sangue atual está em 20 e o maximo é 100 então o valor final e 0,20)
//fazendo com que a barra fique perfeita
//385 é para a posição final de y
//false é para que seja desenhada uma barra em vez de uma linha
- Código:
if keyboard_check(vk_left) and sangue_atual > 0{ //sé você apertar a seta da esquerda e sua barra estiver acima de 0
sangue_atual-=6 //sua barra irá descer em 6 casas(irá perder 6 de sangue) você também pode mudar o número para qualquer um menor que 100 para não dar erro.
}
if keyboard_check(vk_right) and sangue_atual < sangue_total{ //sé você apertar a seta da direita e sua barra estiver abaixo do sangue total
sangue_atuals+=6 //sua barra irá subir em 6 casas(irá ganhar 6 de sangue) você também pode mudar o número para qualquer um menor que 100 para não dar erro.
}
Sé você acompanhou detalhada-mente cada passo, agora clique na seta verde(run the game) para testar a barra.
Se mesmo assim der algo errado poste o erro.
Última edição por Pit Bull em Sex 16 Set 2011, 12:06, editado 3 vez(es) (Motivo da edição : acento,esqueci =D)
Esta dando esse erro
ERROR in
action number 1
of Draw Event
for object display:
Error in code at line 7:
draw_rectangle(50,370,50+(540*(player_posicao_segundos/player_tamanho_segundos)),385,false) //50 é para a posição inicial do x,370 é para a posição inicial do y.
^
at position 33: Unknown variable player_posicao_segundos
action number 1
of Draw Event
for object display:
Error in code at line 7:
draw_rectangle(50,370,50+(540*(player_posicao_segundos/player_tamanho_segundos)),385,false) //50 é para a posição inicial do x,370 é para a posição inicial do y.
^
at position 33: Unknown variable player_posicao_segundos
hidramaster- Data de inscrição : 10/08/2011
Reputação : 0
Número de Mensagens : 21
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
Testei o seu tutorial e apareceu o mesmo erro:
___________________________________________
ERROR in
action number 1
of Draw Event
for object display:
Error in code at line 7:
draw_rectangle(50,370,50+(540*(player_posicao_segundos/player_tamanho_segundos)),385,false) //50 é para a posição inicial do x,370 é para a posição inicial do y.
^
at position 33: Unknown variable player_posicao_segundos
E ainda está na área dos tutoriais aprovados sem ao menos ter sido testado para ver se havia erro ou não?
___________________________________________
ERROR in
action number 1
of Draw Event
for object display:
Error in code at line 7:
draw_rectangle(50,370,50+(540*(player_posicao_segundos/player_tamanho_segundos)),385,false) //50 é para a posição inicial do x,370 é para a posição inicial do y.
^
at position 33: Unknown variable player_posicao_segundos
E ainda está na área dos tutoriais aprovados sem ao menos ter sido testado para ver se havia erro ou não?
Mestre Moscoso- Data de inscrição : 08/08/2011
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
Só é vocês criarem as variáveis no Create, minha gente Mas foi falha do autor não tê-las colocado. Na primeira caixa de código, adicionem:
- Código:
player_posicao_segundos = 0
player_tamanho_segundos = 0
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
troquei as "player_posicao_segundos/player_tamanho_segundos" por "x" e "y" so de zoera e
parou o erro,mas ficou gigante.
P.S.: eu sei que sou noob...
parou o erro,mas ficou gigante.
P.S.: eu sei que sou noob...
Jurassic Games- Data de inscrição : 25/07/2011
Reputação : 0
Número de Mensagens : 33
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
Mais o objetivo e esse,você ver a barra na room.
Não achei nenhum erro quando eu fiz,acho que não declarei as variaveis
Não achei nenhum erro quando eu fiz,acho que não declarei as variaveis
Re: Fazendo uma barra com draw_rectangle
mas isso não é como uma barra de vida? É mais fácil usar o draw barra de vida (nao sei como é), por que ele diz já o tanto de vida sen precisar de tudo isso
Re: Fazendo uma barra com draw_rectangle
draw_healthbar. Sim, é mais fácil usar a função, mas esse seria um método de fazer DO ZERO. E isso não é só uma barra de vida, pode ser qualquer barra, loading, posição da música (no caso de um tocador de música) etc.mas isso não é como uma barra de vida? É mais fácil usar o draw barra de vida (nao sei como é), por que ele diz já o tanto de vida sen precisar de tudo isso
Isso é nada mais e nada menos o que está por dentro da função draw_healthbar. Os Scripts no GM existem para isso: para facilitar o processo. Já pensou fazer uma checagem de colisão muito avançada e ter que escrever 170 linhas dela em cada objeto? Não seria nada legal.
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
cara estou com o seguinte problema, minha barra está descendo muito rapido, e está acabendo antes do sangue, logo ela passa do limite da barra do inicio, como eu poderia arrumar isso?????
mais um detalhe minha barra não aparece na ponto do view e sim +- no meio dele.
Desde já agradeço.
- 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,740,50+(view_xview+950*(global.saude_atual/global.saude_total)),760,false)
mais um detalhe minha barra não aparece na ponto do view e sim +- no meio dele.
Desde já agradeço.
killer118- Data de inscrição : 30/08/2013
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Fazendo uma barra com draw_rectangle
Nessa ultima linha:
o certo seria:
Vamos pensar na barra, no primeiro ponto está assim:
x = view_xview+400
y = view_yview+740
No segundo:
x = 50+(view_xview+950*(global.saude_atual/global.saude_total))
y = view_yview+760
arrumando esse x(pra ficar organizado):
x = view_xview+950*(global.saude_atual/global.saude_total)+50
Já de cara da pra perceber uma coisa, se a divisão da saude atual sobre a total der zero, ficará assim:
x = view_xview+50
sendo que no primeiro ponto está:
x = view_xview+400
Ou seja, o primeiro ponto está na frente do segundo.
Pra arrumar isso basta colocar em vez de 50, 400 no segundo ponto.
- Código:
draw_rectangle(view_xview+400,740,50+(view_xview+950*(global.saude_atual/global.saude_total)),760,false)
o certo seria:
- Código:
draw_rectangle(view_xview+400,view_yview+740,50+(view_xview+950*(global.saude_atual/global.saude_total)),view_yview+760,false)
Vamos pensar na barra, no primeiro ponto está assim:
x = view_xview+400
y = view_yview+740
No segundo:
x = 50+(view_xview+950*(global.saude_atual/global.saude_total))
y = view_yview+760
arrumando esse x(pra ficar organizado):
x = view_xview+950*(global.saude_atual/global.saude_total)+50
Já de cara da pra perceber uma coisa, se a divisão da saude atual sobre a total der zero, ficará assim:
x = view_xview+50
sendo que no primeiro ponto está:
x = view_xview+400
Ou seja, o primeiro ponto está na frente do segundo.
Pra arrumar isso basta colocar em vez de 50, 400 no segundo ponto.
Re: Fazendo uma barra com draw_rectangle
eu não coloquei o view_yview pois meu y é fixo e a barra de life é do boss então vai aparecer sempre na mesma posição de y apenas o x que muda se eu colocar 400 a barra vai passar do limite maximo, e eu decidi usar de outra maneira para poder usar o código desse jeito, mas muito obrigado pela ajuda.
killer118- Data de inscrição : 30/08/2013
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Tutorial - Fazendo uma barra de vida vertical!
» Fazendo seu primeiro jogo !
» Fazendo um Power Up!
» Fazendo Menu?
» Fazendo um Inventário (Parte 2/3)
» Fazendo seu primeiro jogo !
» Fazendo um Power Up!
» Fazendo Menu?
» Fazendo um Inventário (Parte 2/3)
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos