GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Ontem à(s) 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42


mostrador de status polygonal

3 participantes

Ir para baixo

mostrador de status polygonal Empty mostrador de status polygonal

Mensagem por Thyago Qua 02 Set 2009, 07:42

Código:
//essa eh a script e a expilicacao funcional do mostrador
status=7//eh o numero de pontas q ele vai ter ou seja de  funcoes q ele vai mostrar 
raio=100//eh tamanho d cada raio de cada uma das pontas quando estiver no maximo   
cor=c_blue//essa eh acor do interior mostrador q representera seus status
contorno=c_black//eh a cor do contorno do mostrador
posicao_x=100//essa eh aposicao x do centro do mostrador
posicao_y=100//essa eh aposicao y do centro do mostrador
//de o valor de cada statu como health,score,speed aqui estao todos com 50
//aqui eh colocado o q cada statu ira representar por exemplo status_1=speed assim
//o primeiro status representara o speed//
status_1=50  status_2=50  status_3=50  status_4=50                                           
status_5=50  status_6=50  status_7=50  status_8=50                                           
//eh necessario marcar os valores status _max1...2...3...em todos q usar para por exemplo,
//se for speed e seu atual representar 40 por cento do status_max que o representa
//sera preenchido na mesma proporcao isso e para naum ficam nem muito pequeno nem muito grande
status_max1=50  status_2max=50  status_3max=50  status_4max=50                                 
status_5max=50  status_6max=50  status_7max=50  status_8max=50                               
//os valores status_adpt e o q adaptara o grafico a vc,ele divide o raio pelo statu_max se seu
//statu maximo for igual a 50 entao ele divide por ciquente e depois multiplica este resultado
//pelo statu atual no caso se for iagual ao statu_max sera o valor do raio e assim ficara completo
status_adpt1=(raio/status_max1)*status_1  status_adpt2=(raio/status_2max)*status_2
status_adpt3=(raio/status_2max)*status_3  status_adpt4=(raio/status_4max)*status_4
status_adpt5=(raio/status_5max)*status_5  status_adpt6=(raio/status_6max)*status_6
status_adpt7=(raio/status_7max)*status_7  status_adpt8=(raio/status_8max)*status_8
//a seguir sao as direcoes de cada indicador ele divide os 360graus pelo numero de status
//a serem representados q vc escolheu isso dara o angulo que ficara entre dois estatus
//se vc escolheu oito o por exemplo o resultado sera 45 o primeiro statu sera sempre no
//angulo 0 e a cada 45 graus tera um statu
direcao_2=(360/status)*1 direcao_3=(360/status)*2 direcao_4=(360/status)*3
direcao_5=(360/status)*4 direcao_6=(360/status)*5 direcao_7=(360/status)*6
direcao_oito=(360/status)*7
//este valor representa um grau eu o uso para naum ter q usar pi toda hora
grau=0.01744444444444444444444444
//estes sao os calculos dos pontos para se formar o desenho por exenplo forman se as retas entre o
//(ponto_1x,ponto_1y) e (ponto_2x,ponto_2y) e assim por diante
ponto_1x=posicao_x+cos(0)*status_adpt1              ponto_1y=posicao_y+sin(0)*status_adpt1
ponto_2x=posicao_x+cos(grau*direcao_2)*status_adpt2  ponto_2y=posicao_y+sin(grau*direcao_2)*status_adpt2
ponto_3x=posicao_x+cos(grau*direcao_3)*status_adpt3  ponto_3y=posicao_y+sin(grau*direcao_3)*status_adpt3
ponto_4x=posicao_x+cos(grau*direcao_4)*status_adpt4  ponto_4y=posicao_y+sin(grau*direcao_4)*status_adpt4
ponto_5x=posicao_x+cos(grau*direcao_5)*status_adpt5  ponto_5y=posicao_y+sin(grau*direcao_5)*status_adpt5
ponto_6x=posicao_x+cos(grau*direcao_6)*status_adpt6  ponto_6y=posicao_y+sin(grau*direcao_6)*status_adpt6
ponto_7x=posicao_x+cos(grau*direcao_7)*status_adpt7  ponto_7y=posicao_y+sin(grau*direcao_7)*status_adpt7
ponto_8x=posicao_x+cos(grau*direcao_oito)*status_adpt8  ponto_8y=posicao_y+sin(grau*direcao_oito)*status_adpt8
//os proximos valores desenhara o contorno do mostrador
ponto_c1x=posicao_x+cos(0)*raio              ponto_c1y=posicao_y+sin(0)*raio
ponto_c2x=posicao_x+cos(grau*direcao_2)*raio  ponto_c2y=posicao_y+sin(grau*direcao_2)*raio
ponto_c3x=posicao_x+cos(grau*direcao_3)*raio  ponto_c3y=posicao_y+sin(grau*direcao_3)*raio
ponto_c4x=posicao_x+cos(grau*direcao_4)*raio  ponto_c4y=posicao_y+sin(grau*direcao_4)*raio
ponto_c5x=posicao_x+cos(grau*direcao_5)*raio  ponto_c5y=posicao_y+sin(grau*direcao_5)*raio
ponto_c6x=posicao_x+cos(grau*direcao_6)*raio  ponto_c6y=posicao_y+sin(grau*direcao_6)*raio
ponto_c7x=posicao_x+cos(grau*direcao_7)*raio  ponto_c7y=posicao_y+sin(grau*direcao_7)*raio
ponto_c8x=posicao_x+cos(grau*direcao_oito)*raio  ponto_c8y=posicao_y+sin(grau*direcao_oito)*raio
//estes textos apareceram nas pontas de cada statu do mostrador
draw_text_color(ponto_c1x,ponto_c1y,'status_1',c_blue,c_black,c_black,c_blue,1)
draw_text_color(ponto_c2x,ponto_c2y,'status_2',c_blue,c_black,c_black,c_blue,1)
draw_text_color(ponto_c3x-60,ponto_c3y,'status_3',c_blue,c_black,c_black,c_blue,1)
if(status>3){draw_text_color(ponto_c4x-60,ponto_c4y,'status_4',c_blue,c_black,c_black,c_blue,1)}
if(status>4){draw_text_color(ponto_c5x-60,ponto_c5y,'status_5',c_blue,c_black,c_black,c_blue,1)}
if(status>5){draw_text_color(ponto_c6x-65,ponto_c6y,'status_6',c_blue,c_black,c_black,c_blue,1)}
if(status>6){draw_text_color(ponto_c7x,ponto_c7y-20,'status_7',c_blue,c_black,c_black,c_blue,1)}
if(status>7){draw_text_color(ponto_c8x,ponto_c8y,'status_8',c_blue,c_black,c_black,c_blue,1)}
//os valores a seguir desenhara um poligono igual ao do contorno mas dividido por dois
//representara sempre a metade do statu total
ponto_d1x=posicao_x+cos(0)*raio/2              ponto_d1y=posicao_y+sin(0)*raio/2
ponto_d2x=posicao_x+cos(grau*direcao_2)*raio/2  ponto_d2y=posicao_y+sin(grau*direcao_2)*raio/2
ponto_d3x=posicao_x+cos(grau*direcao_3)*raio/2  ponto_d3y=posicao_y+sin(grau*direcao_3)*raio/2
ponto_d4x=posicao_x+cos(grau*direcao_4)*raio/2  ponto_d4y=posicao_y+sin(grau*direcao_4)*raio/2
ponto_d5x=posicao_x+cos(grau*direcao_5)*raio/2  ponto_d5y=posicao_y+sin(grau*direcao_5)*raio/2
ponto_d6x=posicao_x+cos(grau*direcao_6)*raio/2  ponto_d6y=posicao_y+sin(grau*direcao_6)*raio/2
ponto_d7x=posicao_x+cos(grau*direcao_7)*raio/2  ponto_d7y=posicao_y+sin(grau*direcao_7)*raio/2
ponto_d8x=posicao_x+cos(grau*direcao_oito)*raio/2  ponto_d8y=posicao_y+sin(grau*direcao_oito)*raio/2
//a seguir seguir o desenho q sera feito pelos status repare q a partir da terceira ponta
//esta marcado antes como if ou seja 'se' e so desenhara se for necessario
draw_primitive_begin(pr_trianglefan)
draw_vertex_color(ponto_1x,ponto_1y,cor,0.2)draw_vertex_color(ponto_2x,ponto_2y,cor,0.9)
draw_vertex_color(ponto_3x,ponto_3y,cor,0.9)
if(status>3){draw_vertex_color(ponto_4x,ponto_4y,cor,0.9)}
if(status>4){draw_vertex_color(ponto_5x,ponto_5y,cor,0.9)}
if(status>5){draw_vertex_color(ponto_6x,ponto_6y,cor,0.9)}
if(status>6){draw_vertex_color(ponto_7x,ponto_7y,cor,0.9)}
if(status>7){draw_vertex_color(ponto_8x,ponto_8y,cor,0.9)}
draw_primitive_end()
//aqui serao desenhadas as retas do contorno apenas os o necessarios
draw_line_color(ponto_c1x,ponto_c1y,ponto_c2x,ponto_c2y,contorno,contorno)
draw_line_color(ponto_c2x,ponto_c2y,ponto_c3x,ponto_c3y,contorno,contorno)
draw_line_color(ponto_c3x,ponto_c3y,ponto_c4x,ponto_c4y,contorno,contorno)
if(status>3){draw_line_color(ponto_c4x,ponto_c4y,ponto_c5x,ponto_c5y,contorno,contorno)}
if(status>4){draw_line_color(ponto_c5x,ponto_c5y,ponto_c6x,ponto_c6y,contorno,contorno)}
if(status>5){draw_line_color(ponto_c6x,ponto_c6y,ponto_c7x,ponto_c7y,contorno,contorno)}
if(status>6){draw_line_color(ponto_c7x,ponto_c7y,ponto_c8x,ponto_c8y,contorno,contorno)}
if(status>7){draw_line_color(ponto_c8x,ponto_c8y,ponto_c1x,ponto_c1y,contorno,contorno)}
//aqui serao desenhadas as retas do poligono que representara metade de cada stataus
draw_line_color(ponto_d1x,ponto_d1y,ponto_d2x,ponto_d2y,contorno,contorno)
draw_line_color(ponto_d2x,ponto_d2y,ponto_d3x,ponto_d3y,contorno,contorno)
draw_line_color(ponto_d3x,ponto_d3y,ponto_d4x,ponto_d4y,contorno,contorno)
if(status>3){draw_line_color(ponto_d4x,ponto_d4y,ponto_d5x,ponto_d5y,contorno,contorno)}
if(status>4){draw_line_color(ponto_d5x,ponto_d5y,ponto_d6x,ponto_d6y,contorno,contorno)}
if(status>5){draw_line_color(ponto_d6x,ponto_d6y,ponto_d7x,ponto_d7y,contorno,contorno)}
if(status>6){draw_line_color(ponto_d7x,ponto_d7y,ponto_d8x,ponto_d8y,contorno,contorno)}
if(status>7){draw_line_color(ponto_d8x,ponto_d8y,ponto_d1x,ponto_d1y,contorno,contorno)}
//e aqui serao desenhadas retas do centro ate cada ponto maximo de cada status
draw_line_color(posicao_x,posicao_y,ponto_c2x,ponto_c2y,contorno,contorno)
draw_line_color(posicao_x,posicao_y,ponto_c3x,ponto_c3y,contorno,contorno)
draw_line_color(posicao_x,posicao_y,ponto_c4x,ponto_c4y,contorno,contorno)
if(status>3){draw_line_color(posicao_x,posicao_y,ponto_c5x,ponto_c5y,contorno,contorno)}
if(status>4){draw_line_color(posicao_x,posicao_y,ponto_c6x,ponto_c6y,contorno,contorno)}
if(status>5){draw_line_color(posicao_x,posicao_y,ponto_c7x,ponto_c7y,contorno,contorno)}
if(status>6){draw_line_color(posicao_x,posicao_y,ponto_c8x,ponto_c8y,contorno,contorno)}
if(status>7){draw_line_color(posicao_x,posicao_y,ponto_c1x,ponto_c1y,contorno,contorno)}
//testem e escrevam depois


Última edição por Thyago em Qui 03 Set 2009, 16:38, editado 8 vez(es)
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : mostrador de status polygonal Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

mostrador de status polygonal Empty Re: mostrador de status polygonal

Mensagem por SIGILOSO Qua 02 Set 2009, 08:11

interessante,mas axo q podia ta mais organizado Happy
eu acabei me perdendo no meio do seu post...
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios : mostrador de status polygonal Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

mostrador de status polygonal Empty Re: mostrador de status polygonal

Mensagem por CPinheiro Qua 02 Set 2009, 08:19

Coloque dentro da tag '[code]', pois alguns caracteres do código foram substituídos por emoticons.
CPinheiro
CPinheiro

Data de inscrição : 01/06/2008
Reputação : 0
Número de Mensagens : 1015
Prêmios : mostrador de status polygonal Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://supermariobrasileiro.blogspot.com

Ir para o topo Ir para baixo

mostrador de status polygonal Empty Re: mostrador de status polygonal

Mensagem por Thyago Qua 02 Set 2009, 08:28

eh so selecionar tudo de uma vez copiar q vai ficar certo no script
so mexa depois q colar tudo;


Última edição por Thyago em Qua 02 Set 2009, 08:35, editado 2 vez(es)
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : mostrador de status polygonal Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

mostrador de status polygonal Empty Re: mostrador de status polygonal

Mensagem por SIGILOSO Qua 02 Set 2009, 08:31

é altomatico do forum,o número 8 seguido de parentes faz aparecer o Cool .
por isso é importante se organizar,e nesse caso o ideal seria usar a função code,antes de postar o script vc clika naquele botao com duas setinhas azuis,e clika de novo quando acaba de digita o script
afro
SIGILOSO
SIGILOSO

Games Ranking : Nota A

Notas recebidas : A+A+A+A+A+A+A
Data de inscrição : 06/06/2009
Reputação : 39
Número de Mensagens : 2267
Prêmios : mostrador de status polygonal Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 4 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

mostrador de status polygonal Empty Re: mostrador de status polygonal

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos