Conectar-se
Quem está conectado
36 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 35 Visitantes

Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 04/08/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Pause no tempo de um jogo tipo quiz

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
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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

_________________

.-.
Data de inscrição : 25/07/2011
Número de Mensagens : 115
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tslimite.blogspot.com

Re: Pause no tempo de um jogo tipo quiz

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
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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

_________________

.-.
Data de inscrição : 25/07/2011
Número de Mensagens : 115
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tslimite.blogspot.com

Re: Pause no tempo de um jogo tipo quiz

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?
avatar
Data de inscrição : 04/08/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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
Data de inscrição : 25/07/2011
Número de Mensagens : 115
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://tslimite.blogspot.com

Re: Pause no tempo de um jogo tipo quiz

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
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 28/10/2008
Número de Mensagens : 819
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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

_________________

.-.
avatar
Data de inscrição : 04/08/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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
avatar
Ranking : Nota E
Notas recebidas : D+E+E
Data de inscrição : 03/10/2011
Número de Mensagens : 439
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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!
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

em Sex 30 Dez 2011, 18:13
aff, vou pesquisar melhor sobre o assunto e te falo.
flw flw

_________________

.-.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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.
avatar
Data de inscrição : 04/08/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

em Ter 03 Jan 2012, 01:17
Obg Happy
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

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?
avatar
Data de inscrição : 04/08/2011
Número de Mensagens : 25
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Pause no tempo de um jogo tipo quiz

em Ter 03 Jan 2012, 13:51
Sim Happy
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum