Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Pause no game?
- Igor Renan
- Membro
- Reações: 0
- Mensagens: 23
Pause no game?
como faz pra programar um pause no game maker? alguém pode me ensinar como? com códigos... só para a tela ficar preta com o nome "game paused"
Re: Pause no game?
A forma básica de "pausar" um game, é desativando todas as instâncias presentes.
Crie um objeto com o nome que desejar, como por exemplo, obj_pause.
No evento create, declare a variável:
Em um botão que desejar (como o "Press P"), você ira alternar o estado dessa variável:
Só até ai, já fazemos o jogo pausar e despausar. Desativando uma instância, todos seus códigos deixam de ser executados (inclusive o que faz com o sprite seja desenhado na tela), e, quando você a reativa, todos os códigos continuam de onde estavam. Se você testar agora, verá que ao pausar, tudo vai sumir.
No draw, você deve fazer com que o jogador saiba que está pausado:
Neste draw, desenhamos um fundo preto que cobre a room toda e desenhamos um texto no meio da room. Note que, se sua room for maior que a view, o texto não aparecerá onde deveria, portanto, faça o ajuste do posicionamento do texto como preferir.
Eu não testei nenhum código, porém, a lógica é essa. Boa sorte!
Crie um objeto com o nome que desejar, como por exemplo, obj_pause.
No evento create, declare a variável:
Código: Selecionar todos
pause = false
Código: Selecionar todos
if (pause = true){
pause = false;
instance_activate_all();
}else{
pause = true;
instance_deactivate_all(true);
}
No draw, você deve fazer com que o jogador saiba que está pausado:
Código: Selecionar todos
if (pause=true){
draw_set_color(c_black);
draw_rectangle(0,0,room_width, room_height, false);
draw_set_color(c_white);
draw_text(room_width/2, room_height/2,"Pausado!");
}
Eu não testei nenhum código, porém, a lógica é essa. Boa sorte!
- Igor Renan
- Membro
- Reações: 0
- Mensagens: 23
Re: Pause no game?
willy, funciona, mas a tela só fica preta, não aparece o nome "pausado".... meu game é de plataforma
- Superbomber
- Programador
- Reações: 0
- Mensagens: 283
- Localização: Natal-RN
-
Re: Pause no game?
Pois é Igor, porque o que o Willy te passou é uma explicação e não código pronto para copiar e colar.
Como ele mesmo disse:
Como ele mesmo disse:
É só ler a explicação dele e fazer o código de acordo.Willy escreveu: Neste draw, desenhamos um fundo preto que cobre a room toda e desenhamos um texto no meio da room. Note que, se sua room for maior que a view, o texto não aparecerá onde deveria, portanto, faça o ajuste do posicionamento do texto como preferir.
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script
- Igor Renan
- Membro
- Reações: 0
- Mensagens: 23
Re: Pause no game?
olá superbomber! e onde é que altera de acordo com o a room? é q eu n entendo de programação msm kkkk eu coloquei em draw GUI, e apareceu o nome onde eu queria, porém depois que o player morre e vai para a tela de game over, o pause começa a funcionar nas outras rooms também caso eu apertar o botão de pausar... acontece tanto com Draw quando com Draw GUI, a diferença é que na hora de jogar, com o Draw GUI fica centralizado
- Thiago Silva Thiago
- Membro
- Reações: 0
- Mensagens: 25
Re: Pause no game?
Especifique melhor seu problema, eu não consegui entender muito bem
Se for só o problema das rooms, a solução é verificar antes de pausar se não esta numa room de menu
No botão de pausar
Lembrando que em talroom vc deve ponhar as rooms que você nao quer que funcione o pause
Se for só o problema das rooms, a solução é verificar antes de pausar se não esta numa room de menu
No botão de pausar
Código: Selecionar todos
if (pause = true){
pause = false;
instance_activate_all();
}else
if ((room != talroom) && (room != talroom2)){
pause = true;
instance_deactivate_all(true);
}
20 anos, estudante de linguagens de programação.
Uso Godot Engine.
Uso Godot Engine.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes