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


[Tutorial] Criando um Pause Personalizado

3 participantes

Ir para baixo

[Tutorial] Criando um Pause Personalizado Empty [Tutorial] Criando um Pause Personalizado

Mensagem por dharrison Sex 19 Nov 2010, 21:58

Objetivo: Criar um Pause com um draw_text, ou com um draw_sprite. Introdução aos comandos para criar Caixas de Texto atravéz de draw.
Dificuldade: Fácil
Ferramenta: GM7 PRO

Nesse tuto criaremos um simples pause, mas com o sprite que quisermos lol!
E também você conhecerá os comandos que usaremos no meu próximo Tutorial, sobre criar Caixas de Texto/Diálogos com um script de draw.


MATERIAL:

Nomeie o Sprite de s_pause.
Um sprite de pause. Eu estou usando esse no jogo que estou desenvolvendo:
[Tutorial] Criando um Pause Personalizado Pausewg
(Para o Pause ficar bonitinho no jogo, apenas centralize a Origin no meio do Triangulo)

Spoiler:


MODO DE PREPARO:

Crie um Obj chamado obj_pause, coloque nele um Evento Key Press (Enter), dentro coloque um Piece of Code com o seguinte código.
Código:
{
scr_pause()
}


Versão com Sprite:
Agora crie um Script, nomei-o scr_pause e coloque dentro dele:
Código:
{
    draw_sprite(s_pause,0,320,240) //Desenhar_Sprite(s_pause,subimagem 0, x=320pxl, y=240pxl) - Desenha o Pause no meio da tela.
  screen_refresh(); //Redesenha a tela usando a imagem atual da room, ou seja, "congela a tela".
  keyboard_wait(); //Faz o jogo esperar até que o jogador clique em alguma tecla. Abaixo declaramos qual tecla deve ser pressionada.
{
  if (keyboard_lastkey == vk_enter) //Se a ultima tecla que foi usada (enter), ser apertada novamente...
  {
  io_clear(); //Limpa os estados do Teclado e Mouse, é esse comando que irá fazer o jogo 'descongelar'
  }
  else
  {
  scr_pause(); //SE NÃO aperta Enter dinovo, o script continua sendo executado. Assim o jogo continua pausado.
  }
}
}

A Explicação está toda no proprio código, qualquer dúvida dá um berro Very Happy.


Versão só com Draw:
Primeiro crie uma Font, e chame-a fontpause. Escolha um tamanho bem grande e uma fonte legal.
Código:

{
  draw_set_color(c_white) //Configura a cor do Draw para Branco
  draw_rectangle(240,220,400,280,false) //Desenha o retangulo, onde: x1 (posição x inicial); y1 (posição y inical); x2 (final); y2 (final). O False no fim é pra vc escolher se vai ser Só Linha, ou Com Preenchimento. Como queremos Com Preenchimento, colocamos False.
  draw_set_color(c_black) //Configura a cor do Draw para Preto
  draw_set_halign(1) //Alinha(align) o Draw horizontalmente(h) no centro(1)
  draw_set_font(fontpause) //Configura a Fonte para a fontpause que criamos.
  draw_text(320,240,"JOGO PAUSADO") //Desenhar Texto.
  screen_refresh();
  keyboard_wait();
{
  if (keyboard_lastkey == vk_enter)
  {
  io_clear();
  }
  else
  {
  scr_pause();
  }
}
}

Uma coisa importante sobre Draw:
Perceba que duas vezes Configuramos a cor...
"Por que?"
Porque um script de Draw segue a Ordem que vc coloca as coisas, ou seja, as primeiras linhas que vc coloca, sejam sprites, cores ou fontes, serão as primeiras a ser executadas, e o que estiver 'embaixo' vai ser desenhado por cima do anterior.
Para ver isso acontecer experimente trocar os Valores dos draw_set_color que usamos. Coloque c_black no primeiro e c_white no segundo.


Para finalizar crie uma room com o tamanho 640x480 e coloque o obj_pause nela. Rode o jogo e veja o que acontece.
É interessante fazer os dois tipos, com draw_sprite, e o draw mais complexo.



Sei que o pause com draw sem sprite deve ter ficado bem esquisito aí, mas é só questão de arrumar as coordenadas do draw_rectangle e o tamanho da fonte.
Enfim, explorem o draw, é um evento muito legal de se usar quando começa a pegar as manhas. E também é vantajoso saber usá-lo porque além de existir mtos tipos de draw no GM, outras funções como collision_rectangle seguem os mesmo principios.


Eu odiava usar draw, pq achava mto complicado, mas quebrei a cabeça fazendo testes e aprendendo, hoje gosto muito mais usá-lo. Dá uma grande liberdade.


É isso galera, se tiver algum erro no tuto me avisem que corrijo aqui.

Próximo Tutorial: Um Único Script para Todos Diálogos do Jogo


Abração!
DHarrison.
flw


Última edição por dharrison em Seg 22 Nov 2010, 20:36, editado 1 vez(es) (Motivo da edição : Explicando melhor o código)
dharrison
dharrison

Games Ranking : Nota B

Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios : [Tutorial] Criando um Pause Personalizado Empty

Medalhas x 0 Tutoriais x 9 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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


Ir para o topo Ir para baixo

[Tutorial] Criando um Pause Personalizado Empty Re: [Tutorial] Criando um Pause Personalizado

Mensagem por Luca$ Sex 19 Nov 2010, 22:10

Nao testei ainda cara
Mais parece ta legal
parabens
Very Happy
Luca$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : [Tutorial] Criando um Pause Personalizado 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

[Tutorial] Criando um Pause Personalizado Empty Re: [Tutorial] Criando um Pause Personalizado

Mensagem por Markituh Sex 19 Nov 2010, 22:15

Wow... It's a nice tutorial! Better than mine... Your tutorial teach how to make a professional pause, with a sprite, that turn into custom pause. Again, congratulations for you, [...] Brinks Very Happy

Muito bom o tutorial! O seu tuto ensina um meio de fazer um pause profissional, que usando uma sprite, transforma ele num personalizado Very Happy Mas,script para todos os diálogos no jogo? Seria uma show_message personalizado? Espero que sim Razz

Atenção:
Este sistema gostaria de informar que o texto acima não foi escrito com o Google Tradutor, e sim pelo usuário, que é um estudante nato. A máquina não se responsabiliza por quaisquer danos morais causados ao usuário.

Hehe,abraços!
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : [Tutorial] Criando um Pause Personalizado Empty

Medalhas x 0 Tutoriais x 1 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

[Tutorial] Criando um Pause Personalizado Empty Re: [Tutorial] Criando um Pause Personalizado

Mensagem por dharrison Sex 19 Nov 2010, 22:23

Markituh
uhasuhasuhasuhaush
sussu, manjo ingless tbm ;)

Sobre o próximo tutorial, é um evento que usa os mesmo principios deste tutorial, mas adicionando vars globais e objs com parent.

to esfriando a cabeça um pouco, talvez nas proximas horas eu poste ele.
E com ele vou postar a engine junto. ( Sim! Dessa vez vai ter engine lol! )


GMLucas
Vlw *-*
Se vc chegar a testá-lo, de um Edit e me diga se gostou Feliz
dharrison
dharrison

Games Ranking : Nota B

Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios : [Tutorial] Criando um Pause Personalizado Empty

Medalhas x 0 Tutoriais x 9 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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


Ir para o topo Ir para baixo

[Tutorial] Criando um Pause Personalizado Empty Re: [Tutorial] Criando um Pause Personalizado

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