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
» Colisões não funcionando
por RastaMaan Hoje à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 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

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21


Caixas de diálogo em GML - Parte 2

5 participantes

Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Caixas de diálogo em GML - Parte 2

Mensagem por fonetico Seg 04 Out 2010, 21:54

Nome: Caixas de diálogo em GML - Parte 2
Descrição: Segunda parte do último tutorial de caixas de diálogo.
Requerimentos: GM 6, 7 ou 8 LITE ou PRO.
Nível: Iniciante

Tutorial sobre caixas de diálogo
Customização


Aha! Voltei com a segunda parte do tutorial, dessa vez abordando a melhor parte das mensagens do GM. Sua customização!
Customizando uma mensagem, você pode alterar seu tamanho, a fonte das letras, a imagem dos botões, a imagem de fundo, sua transparência e muitas outras coisas!

E não é difícil como você deve estar pensando, mas também não é fácil à ponto de você olhar pra mensagem, e desejar que ela auto se customize. Fazer uma coisa assim é que nem pedir para um elefante voar de asa-delta.

Agora chega de papo e vamos ao que interessa!

Importante!


Todos os códigos, para que tenham efeito, devem ser colocados antes do código que cria a mensagem.

Mudando o plano de fundo


Primeiro é necessário que você tenha um background que possa usar para ser o plano de fundo. Lembrando que ele obrigatoriamente deve ser exatamente do tamanho da mensagem que você vai escrever. Não pode ser muito pequeno ou muito grande, pois pode deixar a mensagem muito desproporcional. Se por um lado ficar grande demais, a caixa de mensagem ficará muito vaga, e se ficar muito pequena, o texto será cortado, porque a imagem não se redimensiona, somente a mensagem propriamente dita fica do tamanho da imagem usada. A função que pode ser utilizada é:


message_background(background);


Em background coloca-se o nome do background desejado.

Mudando a imagem do botão

Também podemos mudar como o botão é exibido. Mudando sua imagem e até mesmo sua animação! Dessa vez o que temos que ter é um sprite. Lembrando que da mesma forma que o fundo, o sprite deve ter o tamanho ideal, sendo que se muito pequeno, o texto que aparece em cima do botão é cortado, e muito grande, muito vago.

Mas também, podemos colocar uma animação no botão. Como assim? Sim uma animação. Igual naqueles jogos que quando você aperta no botão, dá-se a impressão de que o botão afundou. Podemos usar três imagens para isso:

1 - Estado normal do botão (sem interatividade com o mouse - será exibida a primeira subimagem);
2 - Estado sobre (quando o mouse fica sobre o botão - será exibida a segunda subimagem);
3 - Estado pressionado (mostrado enquanto o mouse pressiona o botão - será exibidaa terceira subimagem).

E é simples, na sprite que vamos usar, basta criar três subimagens nessa ordem: normal->sobre->pressionado. E pronto! Só aplicar com a seguinte função:


message_button(sprite)


Em sprite, a sprite à ser utilizada. Lembrando que não é obrigatório ter três subimagens.

Modificando a transparência


Não tenho muito o que dizer. Somente use:


message_alpha(alpha);


Em alpha coloca-se o nível de transparência de 0 à 1. 1 = sem transparência. 0 = totalmente transparente.
Só que há um probleminha, se você deixar a mensagem totalmente transparente, como você vai clicar no botão? Nem espaço adianta, nesse caso só ESC.

Modificando a forma do texto


Essa função é bem útil porque ela pode mudar ligeiramente o modo com o qual você vê a mensagem. Pois é possível modificar muitas coisas, veja:


message_text_font(name,size,color,style)


Em name, você deve colocar entre aspas, o nome exato da fonte que o texto vai assumir. Não é a fonte que você cria no GM, mas sim o nome da fonte propriamente dita, como por exemplo: "Comic Sans MS".
Em size, coloca-se o tamanho do texto.
Em color, a cor do texto.
E em style, o estilo do texto sendo:

0 - Normal
1 - Negrito
2 - Itálico
3 - Negrito + Itálico

Modificando a forma do texto DO BOTAO


Tal o pai, tal o filho. Do mesmo modo que podemos mudar o texto da mensagem, também podemos fazer isso com o texto do botão. Usa-se um código parecido:


message_button_font(name,size,color,style)


Sem comentários. Os argumentos da função podem ser usados da mesma forma usada para mudar o texto da mensagem.

Modificando a forma do texto DA CAIXA de escrever


Acho que não me expressei bem no título. Não importa. Essa função é usada para mudar a forma do texto igual as duas últimas. Mas o texto modificado é o da caixa de escrever, a mesma que aparece com as funções get_string e get_integer. Para usá-la:


message_input_font(name,size,color,style);


Usa-se da mesma forma que as duas últimas funções. Mesmos argumentos, mesma estrutura.

Mudando a cor do texto do botão


Essa função é bem simples. Ela muda a cor do texto do botão somente enquanto o mouse está sobre ele.


message_mouse_color(cor);


Em cor, você coloca a cor que o texto ficará.

Mudando a cor da caixa de escrever


Essa função muda a cor de fundo da caixa de escrever das funções get_string e get_integer.


message_input_color(col);


Em cor coloca-se a cor que deseja.



Modificando a posição da mensagem

Uma coisa interessante nas mensagens do GM é a possibilidade de modificar a sua localização, não sendo necessário apenas que ela apareça no centro da tela. A sua posição é guiada pelo canto superior esquerdo da mensagem.


message_position(x,y);


Em x e y você coloca a posição da caixa de mensagem. Lembrando que essa posição não é da room do jogo, e sim da tela do seu computador. Isso faz com que a mensagem tenha a possibilidade de aparecer do lado de fora do jogo. Se você colocar por exemplo: x = 10 e y = 10. A mensagem aparecerá no canto superior esquerdo da tela.

Mudando o tamanho da mensagem


Essa função, independente do texto, modifica o tamanho da caixa de mensagem.


message_size(w,h);


Em w coloca-se o tamanho da largura e em h coloca-se o tamanho da altura.

Transformando a mensagem em uma caixa de diálogo igual à do windows

Digo igual à do Windows pois é aplicado uma barra em cima da mensagem. Dependendo do tema do windows, essa barra muda. Se você usa o tema windows XP, pra ser exato, a barra é azul, ou pra quem faz curso, barra de título Happy.

Sua função é:


message_caption(show,str);


Em show você decide se vai aparecer a barra de título. Para ver a diferença, deixe true ou 1. E em str, entre aspas, coloca-se o texto que vai aparecer na barra de título.

Vale lembrar que usando a barra de título, você pode movimentar a caixa de texto para onde quiser.

Bom pessoal, esse é o fim do tutorial. Espero que seja de agrado de vocês.

Falow e até uma próxima!

<--- Aula anterior

Clique para fazer o download da engine


Última edição por fonetico em Ter 05 Out 2010, 12:29, editado 2 vez(es)
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu Seg 04 Out 2010, 22:52

Bom tutorial...
Posso ser folgado??? xD
Até entendi e tals, mas tem como vc postar uma engine pra gente ver?
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico Seg 04 Out 2010, 23:03

GuiEdu escreveu:Bom tutorial...
Posso ser folgado??? xD
Até entendi e tals, mas tem como vc postar uma engine pra gente ver?

Sobre qual das mensagens? Todas ou alguma em especial que você quer? Por mim sem problemas!
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu Seg 04 Out 2010, 23:17

vlwzão cara What a Face
Assim, tipo uma customizada daquela que vc digita o texto, ia ser bem instrutivo, hehe...
o mais difícil pra mim é essa, o mais importante msm eu axo que é a customização Happy

GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por Super Games Ter 05 Out 2010, 10:32

Simceramente um ótimo tutorial, totalmente bem explicado, vai ajudar muito os iniciantes no GameMaker, não conhecia umas funções dai, vai ajudar bastante o tutorial, até salvei como favorito, continue assim fonetico, sempre ajudando.

Até!
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • C ou C++


Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico Ter 05 Out 2010, 12:27

Atualização!
Adicionada uma engine no tópico para uma melhor compreensão!


Você pode baixar a engine no tópico principal agora GuiEdu
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu Ter 05 Out 2010, 12:38

Boa cara, muito boa, muito mais fácil de entender agora Happy
realmente vale a pena fazer isso, depois vou tentar fazer uma com BG e tals
vlw =D
GuiEdu
GuiEdu

Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por victor_aco Sáb 09 Out 2010, 16:05

Tutorial muito bom Fonetico. Nunca tinha ouvido falar destas funções, escolheu um ótimo tema pra fazer o tutorial.
Não tinha visto quando você postou, estava esperando. Razz
Com certeza vai facilitar e muito a minha vida.
Te +
victor_aco
victor_aco

Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico Sáb 09 Out 2010, 22:59

Muito obrigado pelos comentários pessoal!
Fiquei muito feliz por terem gostado...
Agora é hora de pensar em um tema novo! Very Happy
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

Mensagem por rafinha12rp Qui 14 Out 2010, 10:37

Muito bom,Você esta de parabens.
rafinha12rp
rafinha12rp

Data de inscrição : 14/10/2010
Reputação : 0
Número de Mensagens : 1
Prêmios : caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

caixa de dialogo - Caixas de diálogo em GML - Parte 2 Empty Re: Caixas de diálogo em GML - Parte 2

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