Como criar um pause menu diferente via GML?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como criar um pause menu diferente via GML?

Mensagem por lol xD em Sab 13 Dez 2008, 19:28

Bom gente, a um tempo fiz uma imagem para ser o pause menu no meu jogo.
Fiz duas versões:

- 1 com uma das telinhas da imagem brilhando.
- 1 com a outra telinha da mesma imagem brilhando (porém com a outra sem brilhar e vice-versa).

Agora eu gostaria de saber, como (e se tem como) eu poderia fazer isso aqui, via GML:

O jogador aperta a tecla Enter. O jogo congela (como pause mesmo) e na mesma tela (sem mudar de Room) aparecer essa imagem que eu fiz. Porém, quando ele estiver com o cursor (cujo eu mesmo fiz um personalizado) sobre uma das telinhas do "pause menu", essa telinha brilhar (as imagens são GIF's). E quando ele estiver com o cursor sobre a outra, essa outra também brilhasse.

Não sei se ficou compreendível o que eu quis dizer, caso não fique, tento explicar melhor.

Obrigado.

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por Convidad em Sab 13 Dez 2008, 20:05

Crie um objeto, pra ser o pause game do jogo, chame-o de obj_pause, por exemplo, e coloque-o em todas as rooms que deseja fazer o pause.

Vamos chamar o sprite sem o brilho de spr_normal e o sprite com o brilho de spr_brilho, e supondo que ambos os sprites tenham as dimensões 100x100 e serão desenhados no centro da tela, criaremos um script:

Chame esse script de mouse_pos.


Código:
var largura, altura;
largura := sprite_get_width(spr_normal);
altura := sprite_get_height(spr_normal);

if mouse_x > (room_width/2)-(largura/2) and mouse_x < (room_width/2)+(largura/2) then
begin
  if mouse_y > (room_height/2)-(altura/2) and mouse_y < (room_height/2)+(altura/2) then
  begin
      return(true);
  end;
end;

return(false);

No evento Draw do objeto obj_pause escreva o código:

Código:
if keyboard_check_pressed(vk_enter)
begin
    keyboard_clear(vk_enter);
    sleep(100);

    while not keyboard_check_pressed(vk_enter)
    begin
        with (all) sleep(20);
        if mouse_pos() = false then
        begin
            draw_sprite(sp_normal,0,room_width/2,room_height/2);
        end
       
        else
        begin
            draw_sprite(sp_brilho,0,room_width/2,room_height/2);
        end;
        screen_refresh();
    end;
   
    keyboard_clear(vk_enter);
end;

Eu não testei. Se der algum erro eu te faço uma engine.

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por lol xD em Dom 14 Dez 2008, 16:44

Olá, testei o que você passou e funcionou perfeitamente! Porém, quando eu não estou com o mouse sobre a tela do jogo, aparece a imagem do pause por cima da outra, e quando retorno com o cursor sobre a tela do jogo, essa mesma desaparece, mantendo somente a primeira imagem.

Acho que o que eu quero fazer é muito confuso, então simplifiquei de uma forma que dê certo no meu jogo. Já fiz todos os comandos, funcionando perfeitamente, mas agora estou com dúvida:

- O personagem aperta a tecla Enter e tudo congela, surgindo então, o menu de pause, porém, quando ele apertar novamente a tecla Enter ou ir com o mouse e clicar no botão "Resumir", o jogo descongela e volta ao normal, da onde o personagem parou.
Os botões eu fiz via Photoshop (GIF), então quando o cursor for sobre um dos botões, ele irá brilhar, e quando sair, irá voltar ao normal (essa parte eu já fiz).
O menu de pause também é uma GIF (antes eram 2 imagens, mas simplifiquei e fiz 1), indo pelo mesmo parâmetro dos botões (na questão de brilhar).


PS: Os botões são separados da Imagem de pause!

Como eu poderia fazer isso via GML?

Obrigado.

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por Convidad em Seg 15 Dez 2008, 22:13

Vai ser mais fácil eu postar uma engine, porque não sei como está montado o seu jogo. Aguarde. ;)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por ricaun em Sab 22 Ago 2009, 18:32

Que legal!

Não sabia como criar um menu, vou usar como base esse pause =D

Happy

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por RKNF1995 em Sab 22 Ago 2009, 18:43

ricaun escreveu:Que legal!

Não sabia como criar um menu, vou usar como base esse pause =D

Happy

pf nao reviva to topicos a ultima postagem foi dia 16 de dezembro de 2008 flws

RKNF1995

Número de Mensagens : 1257
Idade : 21
Data de inscrição : 19/07/2008
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.rknf1995.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como criar um pause menu diferente via GML?

Mensagem por Conteúdo patrocinado Hoje à(s) 18:19


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