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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[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