Caixas de diálogo em GML - Parte 2

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

Qualidade Caixas de diálogo em GML - Parte 2

Mensagem por fonetico em 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

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu em 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

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico em 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

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu em 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

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por Super Games em 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

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico em 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

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por GuiEdu em 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

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por victor_aco em Sab 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

Número de Mensagens : 666
Idade : 21
Data de inscrição : 25/03/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por fonetico em Sab 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

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por rafinha12rp em Qui 14 Out 2010, 10:37

Muito bom,Você esta de parabens.

rafinha12rp

Número de Mensagens : 1
Idade : 20
Data de inscrição : 14/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Caixas de diálogo em GML - Parte 2

Mensagem por Conteúdo patrocinado Hoje à(s) 10:44


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