[Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...
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?
Alguem sabe?
- Ranking :
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :x 0
x 0
x 0
Reputação : 106
Prêmios: 0
: 0
: 0
Re: [Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...
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:
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
- 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
- Código:
if pausou = true
{
// Código que desenha o fundo
// Código que desenha o texto/sprite
}
Re: [Resolvido] Apertou "P" pausou o jogo e deixou um sombreado preto no jogo inteiro...
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: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(view_xview,view_yview,view_wview,view_hview,false); // RetânguloLembre-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:
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ânguloEspero não ter sido complexo para a tua compreensão. Qualquer coisa, me dou ao trabalho de te explicar novamente.
- Código:
if pausou = true
{
// Código que desenha o fundo
// Código que desenha o texto/sprite
}
perfeito, ja funcionando. muito obrigado.
- Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum