[Resolvido]duvida time (tempo)

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

[Resolvido]duvida time (tempo)

Mensagem por bruno2012 em Seg 23 Mar 2015, 16:43

galera a minha duvida e seguente na teoria esse código era  
para meu player mudar de cor durante 5 segundos

Código:
max_segundos = (current_second+5)

{
  while (current_second<=max_segundos)
  {
  image_blend = make_colour_hsv(30, 30, random(255));
  }
}
mais na pratica ele trava o jogo por 5 segundos e muda de cor o play só uma vez
eu quero fazer o meu player fica mudando de cor por 5 segundos alguém pode me ajudar?

bruno2012

Ranking : Sem avaliações
Número de Mensagens : 6
Data de inscrição : 17/03/2015
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]duvida time (tempo)

Mensagem por Fuzenrad em Seg 23 Mar 2015, 16:54

O jogo trava porque entra em loop infinito, não vai funcionar assim. Na verdade, nem precisa de loop pra fazer isso, um if simples já resolveria. Pelo que eu entendi, você quer que após 5 segundos o jogador fique mudando a cor? Basta ter uma variável para contar os frames (a cada 30, se estiver configurado na sua room, conta 1 segundo).

O que você pode fazer é o seguinte:

Código:
//CREATE
max_segundos=room_speed*5;
atual_segundos=0;

//STEP
atual_segundos+=1;

if atual_segundos>=max_segundos {
  image_blend = make_colour_hsv(30, 30, random(255));
 }

Se for pra ficar exatamente 5 segundos animando (e parar de trocar a cor após o período), basta colocar um 'not' antes da verificação do step. Assim:

Código:
if not atual_segundos>=max_segundos {
  image_blend = make_colour_hsv(30, 30, random(255));
 }

Edit:

Ah e supondo que após um período de tempo qualquer (tipo 15 segundos), você quiser que a animação volte a ocorrer, basta verificar (no step mesmo) o valor do atual_segundos e comparar com 15*room_speed, quando for maior, reseta a variável.

Código:
if not atual_segundos>=max_segundos {
  image_blend = make_colour_hsv(30, 30, random(255));
 }

if atual_segundos>=15*room_speed {
  atual_segundos=0;
 }

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: [Resolvido]duvida time (tempo)

Mensagem por bruno2012 em Seg 23 Mar 2015, 19:20

só mudei as variáveis para globais q pego normal obg Very Happy
resolvido

bruno2012

Ranking : Sem avaliações
Número de Mensagens : 6
Data de inscrição : 17/03/2015
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]duvida time (tempo)

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


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