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
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

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.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

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
Número de Mensagens : 666
Idade : 40
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

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

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

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

Número de Mensagens : 14
Data de inscrição : 27/02/2014
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Janela Modal

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


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