[Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...

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

[Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...

Mensagem por gifah em Qui 02 Jun 2011, 11:27

Como eu faço pra quando clicar P no teclado o jogo vai parar (ja consigo parar o jogo) e vai ficar tudo quase preto, não totalmente.

Alguem sabe?


Última edição por gifah em Qui 02 Jun 2011, 12:06, editado 1 vez(es)

gifah

Ranking : Nota B
Número de Mensagens : 111
Idade : 27
Data de inscrição : 25/04/2011
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...

Mensagem por Markituh em Qui 02 Jun 2011, 11:52

Você usa views ou rooms inteiras? Bom, o que você pode fazer é desenhar um retângulo preenchido com uma certa opacidade na tela, usando a função draw_rectangle(x1,y1,x2,y2,contorno - true se sim, false se não);

x1: Primeiro ponto da coordenada x. Em outras palavras, é o canto esquerdo superior da forma.
y1: Primeiro ponto da coordenada y. Em outras palavras, é o canto esquerdo inferior da forma.
x2: Segundo ponto da coordenada x. Em outras palavras, é o canto direito superior da forma.
y2: Segundo ponto da coordenada y. Em outras palavras, é o canto direito inferior da forma.

Eis aqui uma imagem para ilustrar:


Definimos a opacidade com a função draw_set_alpha(opacidade). A opacidade vai de 0 até 1, ou seja, se quisermos especificar 64% de opacidade, iremos usar números decimais: 0.64; basicamente, é a porcentagem da opacidade dividido por 100 (lembre-se de que a vírgula no GM é um ponto). Então, se usar views, quando pausar faça isso:
Código:
draw_set_color(c_black) // Cor preta - sim, essa função define  a cor
draw_set_alpha(0.90) // Uma opacidade que deixe tudo escuro
draw_rectangle(view_xview,view_yview,view_wview,view_hview,false); // Retângulo
Se usar rooms inteiras, sem views:
Código:
draw_set_color(c_black) // Cor preta - sim, essa função define  a cor
draw_set_alpha(0.90) // Uma opacidade que deixe tudo escuro
draw_rectangle(0,0,room_width,room_height,false); // Retângulo
Lembre-se de que, se no pause você desenhe algum texto ou alguma sprite, é totalmente fundamental você colocar o código do fundo atrás do código que desenha o texto/sprite. Esses códigos irão no evento Draw, então se você ativar o pause em outro lugar, não se esqueça de usar uma variável para controlar isso, por exemplo:
Código:
if pausou = true
{
// Código que desenha o fundo
// Código que desenha o texto/sprite
}
Espero não ter sido complexo para a tua compreensão. Qualquer coisa, me dou ao trabalho de te explicar novamente.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...

Mensagem por gifah em Qui 02 Jun 2011, 12:05

Markituh escreveu:Você usa views ou rooms inteiras? Bom, o que você pode fazer é desenhar um retângulo preenchido com uma certa opacidade na tela, usando a função draw_rectangle(x1,y1,x2,y2,contorno - true se sim, false se não);

x1: Primeiro ponto da coordenada x. Em outras palavras, é o canto esquerdo superior da forma.
y1: Primeiro ponto da coordenada y. Em outras palavras, é o canto esquerdo inferior da forma.
x2: Segundo ponto da coordenada x. Em outras palavras, é o canto direito superior da forma.
y2: Segundo ponto da coordenada y. Em outras palavras, é o canto direito inferior da forma.

Eis aqui uma imagem para ilustrar:


Definimos a opacidade com a função draw_set_alpha(opacidade). A opacidade vai de 0 até 1, ou seja, se quisermos especificar 64% de opacidade, iremos usar números decimais: 0.64; basicamente, é a porcentagem da opacidade dividido por 100 (lembre-se de que a vírgula no GM é um ponto). Então, se usar views, quando pausar faça isso:
Código:
draw_set_color(c_black) // Cor preta - sim, essa função define  a cor
draw_set_alpha(0.90) // Uma opacidade que deixe tudo escuro
draw_rectangle(view_xview,view_yview,view_wview,view_hview,false); // Retângulo
Se usar rooms inteiras, sem views:
Código:
draw_set_color(c_black) // Cor preta - sim, essa função define  a cor
draw_set_alpha(0.90) // Uma opacidade que deixe tudo escuro
draw_rectangle(0,0,room_width,room_height,false); // Retângulo
Lembre-se de que, se no pause você desenhe algum texto ou alguma sprite, é totalmente fundamental você colocar o código do fundo atrás do código que desenha o texto/sprite. Esses códigos irão no evento Draw, então se você ativar o pause em outro lugar, não se esqueça de usar uma variável para controlar isso, por exemplo:
Código:
if pausou = true
{
// Código que desenha o fundo
// Código que desenha o texto/sprite
}
Espero não ter sido complexo para a tua compreensão. Qualquer coisa, me dou ao trabalho de te explicar novamente.

perfeito, ja funcionando. muito obrigado.

gifah

Ranking : Nota B
Número de Mensagens : 111
Idade : 27
Data de inscrição : 25/04/2011
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...

Mensagem por Conteúdo patrocinado Hoje à(s) 20:22


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