Avatar do usuário
AdrianoPpaula
Membro
Membro
Autor
Mensagens: 59
Registrado em: Qui Ago 27, 2015 5:56 am
Localização: Quissamã RJ
Karma: 87

Contato:

[90%] Sistema simples de pausa em alarm

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
global.pausa= false;


// NO INICIO DO STEP DO OBJETO QUE EU QUERO QUE PAUSE QUANDO EU PAUSAR
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

Tags:
 
Avatar do usuário
None
Administrador
Administrador
Mensagens: 259
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 649

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

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.
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
 
Avatar do usuário
Foxy Of Jungle
Game Designer
Game Designer
Mensagens: 152
Registrado em: Qua Abr 26, 2017 12:21 am
Localização: Brasil
Karma: 282
Contato:

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

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)

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes