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)
avatar
fonetico

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

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

Prêmios
   :
   :
   :

Ver perfil do usuário

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?
avatar
GuiEdu

Data de inscrição : 04/06/2010
Número de Mensagens : 505
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

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!
avatar
fonetico

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

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

Prêmios
   :
   :
   :

Ver perfil do usuário

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

avatar
GuiEdu

Data de inscrição : 04/06/2010
Número de Mensagens : 505
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

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é!
avatar
Super Games

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
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

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
avatar
fonetico

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

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

Prêmios
   :
   :
   :

Ver perfil do usuário

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
avatar
GuiEdu

Data de inscrição : 04/06/2010
Número de Mensagens : 505
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

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 +
avatar
victor_aco

Data de inscrição : 25/03/2010
Número de Mensagens : 666
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

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
avatar
fonetico

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

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

Prêmios
   :
   :
   :

Ver perfil do usuário

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.
avatar
rafinha12rp

Data de inscrição : 14/10/2010
Número de Mensagens : 1
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

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

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