Entrar
Últimos assuntos
» player não consegue andarpor 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
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Caixas de diálogo em GML - Parte 2
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
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!
Todos os códigos, para que tenham efeito, devem ser colocados antes do código que cria a mensagem.
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.
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.
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.
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
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.
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.
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á.
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.
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.
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.
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 .
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
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
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 .
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- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
Bom tutorial...
Posso ser folgado??? xD
Até entendi e tals, mas tem como vc postar uma engine pra gente ver?
Posso ser folgado??? xD
Até entendi e tals, mas tem como vc postar uma engine pra gente ver?
GuiEdu- Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
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- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
vlwzão cara
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
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
GuiEdu- Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
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é!
Até!
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 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++
Re: Caixas de diálogo em GML - Parte 2
Atualização!
Adicionada uma engine no tópico para uma melhor compreensão!
Você pode baixar a engine no tópico principal agora GuiEdu
Adicionada uma engine no tópico para uma melhor compreensão!
Você pode baixar a engine no tópico principal agora GuiEdu
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
Boa cara, muito boa, muito mais fácil de entender agora
realmente vale a pena fazer isso, depois vou tentar fazer uma com BG e tals
vlw =D
realmente vale a pena fazer isso, depois vou tentar fazer uma com BG e tals
vlw =D
GuiEdu- Data de inscrição : 04/06/2010
Reputação : 0
Número de Mensagens : 505
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
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.
Com certeza vai facilitar e muito a minha vida.
Te +
Não tinha visto quando você postou, estava esperando.
Com certeza vai facilitar e muito a minha vida.
Te +
victor_aco- Data de inscrição : 25/03/2010
Reputação : 2
Número de Mensagens : 666
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
Muito obrigado pelos comentários pessoal!
Fiquei muito feliz por terem gostado...
Agora é hora de pensar em um tema novo!
Fiquei muito feliz por terem gostado...
Agora é hora de pensar em um tema novo!
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Caixas de diálogo em GML - Parte 2
Muito bom,Você esta de parabens.
rafinha12rp- Data de inscrição : 14/10/2010
Reputação : 0
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Caixas de diálogo em GML Parte 1
» Sobre caixas de diálogo: Criei uma caixa de diálogo no game maker e preciso dar comando a cada botão, LEIA para entender melhor.
» Que dll usar pra mostrar caixas de dialogo dinâmicas?
» sonic e mega man aventura mortal 3 parte 1 e parte 2
» Sobre caixas.
» Sobre caixas de diálogo: Criei uma caixa de diálogo no game maker e preciso dar comando a cada botão, LEIA para entender melhor.
» Que dll usar pra mostrar caixas de dialogo dinâmicas?
» sonic e mega man aventura mortal 3 parte 1 e parte 2
» Sobre caixas.
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos