Conectar-se

Esqueci minha senha

Últimos assuntos
» [Duvida] O que aprender
Hoje à(s) 00:17 por Fubukki

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» colisão de queda após outra colisão dando problema
Qui 27 Ago 2015, 13:51 por manobrother

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

Healthbar redonda NÍVEL INICIANTE!

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

Healthbar redonda NÍVEL INICIANTE!

Mensagem por polosam em Dom 13 Abr 2014, 13:14

Nome: HEALTHBAR REDONDA PARA INICIANTES!
Requerimentos: Qualquer versão PRO do game maker

Descrição: Esta engine emula um leque retrátil com valores relativos de ângulo/life
Nível de dificuldade: Iniciante
Controles:
     Click esquerdo=diminui life
     Click direito = aumenta o life
     Botão do meio do mouse = reseta a room


<<<<<<<<<<<<<<<<< Download >>>>>>>>>>>>>>>>>>>>
http://www.4shared.com/file/OakNleB8ce/POLOSAM_E_SUA_HEALTHBAR_REDOND.html

E aí, beleza? Ontem à noite eu estava pensando: como fazer uma healthbar redonda sem surfaces?  zangado 
 Tive a ideia de usar um gráfico de pizza, então pesquisei pie chart no fórum do GMC. Resultado: vi que tinha tantas variáveis e linhas que eu nem li até o final. É muito difícil!

 Fiquei decepcionado, eu sempre quis uma healthbar redonda, e para usar um código daqueles, melhor desistir. Fui para o youtube, terminar a noite vendo trailers de jogos que não posso comprar.
 Foi aí que, assistindo a um vídeo do Mortal Kombat 2011, percebi que o leque da Kitana, apesar de redondo, é retrátil!  

Eis minha solução: fazer draw em 29 triângulos pequenos, sendo que o triângulo "guia" tem uma razão entre a image_angle e o life: São 360 graus = 100 pontos de life, logo, para cada ponto de life perdido, acrescentar 3,6º!

 É basicamente um leque que vai se abrindo, onde os demais triângulos que seguem o "guia" adotam posições de image_angle que são divisões relativas à posição dele; Se o guia estiver com ângulo=10, outro triângulo terá como ângulo esse valor dividido por 1.25, algo assim. O guia arrasta seus seguidores de maneira irregular, de modo a deixá-los pelo caminho!

(De repente os usuários avançados podem ter soluções melhores que esta, mas vale conferir.)


Última edição por polosam em Seg 14 Abr 2014, 20:13, editado 2 vez(es)
avatar
polosam

Data de inscrição : 20/12/2010
Número de Mensagens : 424
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Mr. Kaleb em Dom 13 Abr 2014, 14:08

É uma solução, mas infelizmente pesa muito.
Um jeito simples de fazer isso é usar primitives, algo como isso:
Código:
for (i=0; i<360/vida; i+=1)
{draw_primitive_begin(pr_trianglestrip)
//desenha o raio exterior com vertices usando lengthdir
//desenha o raio interior //-------------//-------------//
draw_primitive_end();}
Não desenvolvi bem a ideia mas é por aí.
avatar
Mr. Kaleb

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por polosam em Dom 13 Abr 2014, 14:21

O problema com os trianglestrip é que não consegui uma curva... 
 ... E não sei o que pesa mais, draw de vários objetos com ângulos subdivididos ou surfaces.
avatar
polosam

Data de inscrição : 20/12/2010
Número de Mensagens : 424
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Mr. Kaleb em Dom 13 Abr 2014, 14:38

Com certeza o draw pesa muito mais.
E no meu método, você não usa surfaces. E o lengthdir é que faz a curva acontecer.
avatar
Mr. Kaleb

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Kapoty em Dom 13 Abr 2014, 15:47

Fiz um exemplo usando o método descrito pelo Mr.Kaleb:

https://dl.dropboxusercontent.com/u/78063995/Healthbar%20Redonda.gmk

Ignore a sprite...
avatar
Kapoty

Ranking : Nota B
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Número de Mensagens : 635
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Gabreel em Dom 13 Abr 2014, 16:09

Vendo aqui, o método do #Polosam# é  até 450% mais rápido que o de vocês #Mr. Kaleb# e #Kapoty#
avatar
Gabreel

Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Superbomber_MuyMacho em Dom 13 Abr 2014, 23:34

Muito bom polosan mais um belo tutorial, que irá ajudar muitas pessoas. Ta de parabéns. Foi uma ótima ideia. blz
avatar
Superbomber_MuyMacho

Data de inscrição : 22/03/2014
Número de Mensagens : 103
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Mateus O de Andrade em Seg 14 Abr 2014, 11:42

Cara,
ADOREI A BARRA ASSIM!!!
Ficou nota  dez mesmo!
Pena que eu sou TÃO leigo em GML que eu só o que eu entendi até agora foi " Bla, bla bla...bla, bla... bla, bla, bla, bla!" nervoso 
Tomei a maior surra pra fazer uma vertical com sprites e D&D ontem!
Ainda quero aprender a fazer ela seguir o char pois não fiz ela totalmente em GML para poder aplicar as views...
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por polosam em Seg 14 Abr 2014, 20:27

Mateus, você não precisa aprender aquele código grandão do draw, aquilo eu fiz na base do testômetro, de um por um. Primeiro eu defini o triângulo guia, sem problemas. Depois, minha dificuldade foi estabelecer a posição dos outros triângulos que seriam arrastados pelo guia. A dificuldade foi só minha mesmo, os draws são funcionais e podem ser copiados como estão, sem necessidade de assimilação. Copie o código e pronto, não tem erro.
 
 Se não ficou muito claro, vou explicar uma coisa em particular:
Quando eu escrevo que o image_angle de uma coisa verde é 10, será realmente 10. Se o ângulo de uma coisa azul for igual ao ângulo da coisa verde / 1.1, significa que a coisa azul está sendo arrastada a uma posição equivalente muito próxima da coisa verde. Note que quanto maior o número da divisão do image_angle, tipo 2, 4, 8, 16, menor é o arrasto. Quanto mais próximo de 1, mas próximo o objeto arrastado estará de seu guia.  Happy 
avatar
polosam

Data de inscrição : 20/12/2010
Número de Mensagens : 424
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Mateus O de Andrade em Ter 15 Abr 2014, 10:21

É que eu gosto de ler os códigos e tentar assimilar e entender o por que da utilização de cada trecho. Sempre aprendo alguma coisa nova dessa forma.
Não suporto "Ctrl+C", "Ctrl+V" cara, não se aprende nada com isso.
Prefiro digitar um código 20 vezes errado e ir acertando aos poucos que copiar e colar! Sem contar que ainda tem muita coisa que só sei fazer com o D&D, mas aos poucos eu vou lapidando meu GML.

Muito obrigado pelo tutorial cara, assim que tiver tempo eu vou dar uma estudada nele.
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Healthbar redonda NÍVEL INICIANTE!

Mensagem por Conteúdo patrocinado


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