Janela Modal

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

Janela Modal

Mensagem por chicoweb em Qua 29 Jul 2015, 17:15


Bom alguns aqui já devem saber o que e uma janela modal.

Mas vo explica rápido do que se trata: É uma janela (tela) que abre na frente de tudo que está sendo exibido no aplicativo, e não deixa mexer em absolutamente NADA que está atrás dela. Algumas até escurecem o que esta atrás indicando que não pode operar lá atrás.

Eu queria saber se tem como fazer isso de um jeito fácil no GMS com uma room.
Com a room seria o ideal, mas com um objeto já dava pra querbrar o galho.
Alguem ai conhece algum metodo ou engine?

Eu até tentei fazer mas no gms mesmo que agente desenhe um objeto em cima de outro ele obedece o clique, mesmo que esteja invisível, isso deu bug no meu sistema modal.

Outra solução que não gostei é ter que programa em cada objeto que tá la atras pra ele não funcionar se estiver colidindo com a janela da frente. Essa até funciona mas achei ela solução meio gambiarra.

Tentei com room persistent mas tb ficou falho o sistema.


chicoweb

Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Janela Modal

Mensagem por Willy em Qua 29 Jul 2015, 18:22

Tire um "print" da tela usando surface, depois, desative todas as instâncias e mande desenhar esse print na tela. Resta agora colocar os objetos da janela ativa sem se preocupar com os outros. Quando for fechar esta janela, basta restaurar tudo ao normal.

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Janela Modal

Mensagem por chicoweb em Qua 29 Jul 2015, 21:58

E uma boa ideia seria tipo nuns esquemas de pause ai que vi pelo forum.

Eu vou testar mas me surgiu uma duvida:

Tenho uma room room_game
Tenho uma outra chamada room_loja

Se eu deixar a room_game como persistente e chamar a room_loja por cima, o que acontece com os objetos da room_game, continuam ativos?

Eu poderia testar eu sei mas e que formatei meu pc e ainda não instalei o gms novamente, vou fazer isso agora. vlw ae.

chicoweb

Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Janela Modal

Mensagem por Isaque Onix em Qua 29 Jul 2015, 22:08

ja fiz isso em um sistema de pause, mais não sei tirar esse print com o gms...
no gm8 acho que eu usava o screen_redraw() ou algo assim '-'

só pegando uma pontinha do seu tópico, como que tira esse "print" com o gms? sabe?

Isaque Onix

Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Janela Modal

Mensagem por Pai véi em Sab 22 Ago 2015, 09:23

Se eu entendi bem, você quer parar a execução do jogo e enviar a janela para o primeiro plano. O jeito mais simples que eu conheço consiste em criar um objeto que executa a função "sleep()" várias vezes dentro de um laço. Por exemplo...

Crie um objeto chamado obj_pause. Em seu evento Step coloque o código:

Código:

io_clear(); // Limpa o estado do teclado e do mouse antes de entrar no laço.
while not mouse_check_button_released(mb_left) sleep(100); // Permaneça parado enquanto não houver um clique (isso é apenas um exemplo de condicional).
io_clear(); // Limpa o estado outra vez para não interferir nos eventos de input dos demais objetos.
instance_destroy(); // Destrua-se.

Quando o objeto for criado no jogo...

Código:
instance_create(0, 0, obj_pause);

...haverá um "pause game". Para jogar a janela no primeiro plano, use "window_set_stayontop()", mas não sei se essa função existe no GMS.

Boa sorte!

Pai véi

Data de inscrição : 27/02/2014
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Janela Modal

Mensagem por Conteúdo patrocinado


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