Pause no tempo de um jogo tipo quiz

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

Pause no tempo de um jogo tipo quiz

Mensagem por Tatyane Calixto em Sex 30 Dez 2011, 13:05

Olá a todos,
Sou iniciante e estou desenvolvendo um jogo tipo quiz no game maker 8.0
Nesse jogo para responder as perguntas tem um tempo determinado e a pessoa pode clicar em uma dica para ajudar a responder a pergunta.
Não estou conseguindo pausar o tempo, qndo eu clicar na dica. E qndo clica na dica vai pra outra tela(room). E depois que voltar na tela(room) da pergunta o tempo voltar de onde parou automaticamente.

Esse é meu código do tempo:
if (segundos > 0){
segundos -= 1;
test = false;
alarm[0] = 5;
}
if segundos = 30{
sound_loop(time_final);
}
if test = true{
sound_discard(time_final);
room_goto_next();
}

agradeço desde já.
Very Happy

Tatyane Calixto

Número de Mensagens : 25
Data de inscrição : 04/08/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tedi Ripper em Sex 30 Dez 2011, 13:23

Bom, primeiramente, Bem vinda ao forum (pelo nome, julgo ser mulher)
em relaçao ao codigo, nao intendi direito.
onde vc colocou esse codigo?
no alarm[0]?
se for:
a proxima room é a ajuda?
a variavel test significa?
sao varias perguntas, mas vai ajudar bastante pra mim te ajudar
flw flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por tecnologiaesites em Sex 30 Dez 2011, 13:26

Nao seria melhor voce fazer na mesma room as dicas tipo clica em criar ai cria um objeto com as dicas ou coloca show_message para aparecer as dicas por que ai voce nao tera problemas com tempo e para tirar das dicas so colocar um tempo ou algum do genero que deleta o objeto
seja bem vinda ao forum

tecnologiaesites

Número de Mensagens : 115
Data de inscrição : 25/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tslimite.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tedi Ripper em Sex 30 Dez 2011, 13:30

@tecnologiaesites
O show_message é pouco profissional, amenos que use as funçoes message_..., mas tbm nao é legal pq se vc movimentar a tela do jogo, o show message sempre vai aparecer no meio da tela do computador.

daria pra colocar uma condiçao no alarm, para que ele só diminuisse caso a dica=false
mas se a dica=true, ai desenhava algo na tela, se quiser assim, eu especifico mais.
flw flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por tecnologiaesites em Sex 30 Dez 2011, 13:31

ou tambem utiliza uma sprite para aparecer no local desejado ou tambem um objeto tambem com sprite seria otimo ai poderia colocar em qualquer lugar desejado
para agente ajudar mais facil seu game maker é pro ou free?

tecnologiaesites

Número de Mensagens : 115
Data de inscrição : 25/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tslimite.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tatyane Calixto em Sex 30 Dez 2011, 13:53

Olá Obg a tds,
Bom ,o game maker que uso é o free.
Explicando meu código:
Criei um evento alarm e dentro tem esse código dentro do objeto time
if (segundos > 0){ // o tempo começa com 720 segundos e vai decrementando
segundos -= 1;
test = false;
alarm[0] = 5;
}
if segundos = 30{ // para tocar um som nos últimos segundos
sound_loop(time_final);
}
if test = true{ // se test for true, ou seja, se o tempo acabar, o som pára e vai pro próximo room.
sound_discard(time_final);
room_goto_next();
}

Tem outro evento, dentro do objeto time, que é o step e tem esse código:
if test = false
{
alarm[0] = 5
test = true
}

"Daria pra colocar uma condiçao no alarm, para que ele só diminuisse caso a dica=false
mas se a dica=true, ai desenhava algo na tela. "

Gostei dessa ideia vc poderia especificar mais?

Obg Happy

Tatyane Calixto

Número de Mensagens : 25
Data de inscrição : 04/08/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por tecnologiaesites em Sex 30 Dez 2011, 14:06

tem duas maneira colocar com um objeto instance_Create ou voce utiliza uma variavle global exemplo
global.segundos = 30 ai voce poderia ir para outra room sem retornar o valor do tempo anterior

tecnologiaesites

Número de Mensagens : 115
Data de inscrição : 25/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://tslimite.blogspot.com

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por CRP-Max em Sex 30 Dez 2011, 14:14

Na verdade basta você alterar esta informação:

if (segundos > 0) and dica=false { // só vai alterar o tempo se dica for falso
segundos -= 1;
test = false;
alarm[0] = 5;
}

Só não se esqueça de criar a variável dica=false no create do objeto. Happy

CRP-Max

Ranking : Nota C
Número de Mensagens : 819
Idade : 41
Data de inscrição : 28/10/2008
Notas recebidas : C
Reputação : 29
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tedi Ripper em Sex 30 Dez 2011, 14:23

"Daria pra colocar uma condiçao no alarm, para que ele só diminuisse caso a dica=false
mas se a dica=true, ai desenhava algo na tela. "
Gostei dessa ideia vc poderia especificar mais?

Obg Happy
claro, assim:

cria uma variavel
dica=false
(quando ela for true, vai aparecer a dica na tela)

ai no alarm, vc coloca:
Código:

if dica=false //se a dica nao estiver aparecendo
{
if (segundos > 0){ // o tempo começa com 720 segundos e vai decrementando
segundos -= 1;
test = false;
alarm[0] = 5;
}
if segundos = 30{ // para tocar um som nos últimos segundos
sound_loop(time_final);
}
if test = true{ // se test for true, ou seja, se o tempo acabar, o som pára e vai pro próximo room.
sound_discard(time_final);
room_goto_next();
}}
else {test=true} //caso contrario, o step nao vai mais acionar isso aki

ai quando vc for clicar na dica, vamos supor que seja na barra de espaço, ai vc coloca no step:
Código:

if keyboard_check_pressed(vk_space) //se clicar a tecla espaço
{
if dica=true {dica=false // se a dica ja estiver aparecendo, ela desaparece
test=true} //e aciona novamente o alarm
else {dica=true} //se nao estiver, ela aparece
}

ai pra mostrar a dica, vamos criar uma sprite, cria uma com a dica escrita, e em baixo coloca "Para fechar, pressione espaço novamente" (só se quiser)

ai, ainda na sprite, lá onde diz: Origin
vc clica Center:

(isso vai ajudar logo logo)

voltando ao objeto...
cria um evento draw (se nao tiver ainda)
e coloca:
Código:

if dica=true //se a dica for verdadeira
{
draw_sprite([sprite da dica],0,320,240) //desenha a sprite
}
nesse codigo, mude ali no draw_sprite:
[sprite da dica] -> coloque o nome da sprite
0 -> coloque a subimage da dica (0 é a primeira)
320 -> metade horizontal da room
240 -> metade vertical da room
(metade pq a Origin da sprite ta no meio, ou seja, ela vai aparecer no meio da room)

basicamente é isso, qualquer duvida, pergunta.
té mais flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tatyane Calixto em Sex 30 Dez 2011, 16:34

Olá,
Não funcionou. Pq, a dica é um objeto q fica no canto da room, que ao clicar vai pra outra room da dica. E depois, volta para a room da pergunta. Eu não usei, show_message, pq o game maker não suporta acentos.

Como posso fazer com que o tempo pare e depois retome o msm valor que estava antes?
Será q tem outra maneira?

Obg Happy

Tatyane Calixto

Número de Mensagens : 25
Data de inscrição : 04/08/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por GALAXY GAMES em Sex 30 Dez 2011, 17:49

Bem vindo ao o forum primeiramente. Você pode usar TimeLines, pois ela tem a função pause! O que torna mais fácil!

GALAXY GAMES

Ranking : Nota E
Número de Mensagens : 439
Data de inscrição : 03/10/2011
Notas recebidas : D+E+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tedi Ripper em Sex 30 Dez 2011, 18:13

aff, vou pesquisar melhor sobre o assunto e te falo.
flw flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por saim em Sex 30 Dez 2011, 18:40

Tatyane Calixto escreveu:Eu não usei, show_message, pq o game maker não suporta acentos.
Aceita sim. Crie uma fonte, coloque pra abranger todos os caracteres e diga a ele pra usar aquela fonte (draw_set_font), e ele passa a aceitar. Na verdade, usando a função show_message, nem precisa mudar a fonte.

Pra pausar um alarme... tem um jeito que é meio gambiarrado. Você pode SOMAR 1 ao alarm, no step, de forma que ele jamais alcançará 0. Se você parar de somar, ele continua caindo até que chega a zero num determinado momento. Mas nem de longe é a forma que eu usaria, só em casos extremos. É, eu estou fazendo um jogo que usa isso, mas não recomendo.

Pra ir pra outra room e gravar o valor de um alarm, jogue esse valor pra uma variável global. Essa variável não vai mudar hora nenhuma, até que você mande ela mudar de novo. Daí, ao voltar pra room, jogue no alarm o valor da global.
"como o jogo vai saber se eu voltei pra room ou se entrei nela pela primeira vez?"
Tem muitas formas. Uma delas é verificar o valor da global. Se for zero, você não precisa do alarm, se não for, precisa. Lembre-se de jogar o valor dela pra zero no final do alarm, claro.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tatyane Calixto em Ter 03 Jan 2012, 01:17

Obg Happy

Tatyane Calixto

Número de Mensagens : 25
Data de inscrição : 04/08/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por saim em Ter 03 Jan 2012, 08:08

Tatyane Calixto escreveu:Obg Happy
Hm... posso entender que a dúvida foi resolvida?
Posso trancar o tópico?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Tatyane Calixto em Ter 03 Jan 2012, 13:51

Sim Happy

Tatyane Calixto

Número de Mensagens : 25
Data de inscrição : 04/08/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Pause no tempo de um jogo tipo quiz

Mensagem por Conteúdo patrocinado Hoje à(s) 17:13


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