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.

[90%] Sistema simples de pausa em alarm

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
AdrianoPpaula
Membro
Membro
Reações: 0
Mensagens: 59
Localização: Quissamã RJ

Contato:

[90%] Sistema simples de pausa em alarm

Mensagem por AdrianoPpaula » Seg Jul 16, 2018 5:31 pm

Fala galera estou com uma dúvida em um sistema simples de pausa para o meu jogo, atualmente ele funciona perfeitamente mas tem um detalhe que não consigo fazer que é pausar um alarm de um objeto. Vou mostrar como ta esse sistema.

//CREATE DE UM OBJETO CONTROLE

Código: Selecionar todos

global.pausa= false;
// NO INICIO DO STEP DO OBJETO QUE EU QUERO QUE PAUSE QUANDO EU PAUSAR

Código: Selecionar todos

if (global.pausa=true){
speed=0;
image_speed=0;
exit;
}
Funciona perfeitamente mas porem se um objeto executou um alarm mesmo pausando o jogo o alarm continua...como que eu faria para que todos os alarm de um objeto pausasse quando eu ligasse a variável pausa e voltasse a contar quando eu desligar.
Imagem

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [90%] Sistema simples de pausa em alarm

Mensagem por None » Seg Jul 16, 2018 6:41 pm

Eu não sei como você está lidando com seus objetos para pausar, mas o jeito que me vem a mente é criar uma variável para cada alarme do objeto.

O código seria mais ou menos assim.
If (global.pause)
{
If (alarme[0] != -1)
{
Alarme0 = alarm[0];
alarm[0] = -1;
}
}
else
{
If (alarme0 > 0)
{
alarm[0] = alarme0;
}
}


Claro, da para melhorar o modelo e fazer tudo bem mais fácil, mas a ideia geral é essa.
Espero ter ajudado.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [90%] Sistema simples de pausa em alarm

Mensagem por Foxy Of Jungle » Qua Jul 18, 2018 9:46 pm

Acho desnecessário utilizar este método, minha dica é:
1 - Criar um obj_pause;
2 - Desativar todas as instâncias e o application_surface_enable(0); (Evento Create)
3 - Criar uma surface depois copia o application_surface para o novo surface; (Evento Create)
4 - Desenhar a surface criada (dando um efeito de pause) (Evento Draw)
5 - Ao destruir o obj_pause, reativa todas as instancias, ativa o application_surface_enable(1) e destrói o surface criado; (Evento Destroy)

OBS: ele "pausa" tudo, inclusive alarmes (testei)

Responder

Quem está online

Usuários navegando neste fórum: Google [Bot] e 4 visitantes