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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Caixas de diálogo em GML - Parte 2

5 participantes

Ir para baixo

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 : 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

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 : 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

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 : 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

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 : 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

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 : 2800
Prêmios : 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
  • Godot
  • Javascript
  • C ou C++


Ir para o topo Ir para baixo

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 : 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

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 : 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

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 : 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

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 : 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

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 : 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

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