Sons tocarem aleatoriamente

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

Sons tocarem aleatoriamente

Mensagem por Rod em Sab 10 Dez 2011, 13:05

Como eu faço pra 2 ou mais sons tocarem aleatoriamente e em momentos diferentes, tipo uma vez agora, depois otra daqui a 10 segundos, depois daqui a 2 segundos?
E também, só fazer isso se estiver dentro da view, se estiver fora dela, o som não toca?

Ajudem, só falta isso pra demo do MH!!!

Rod

Ranking : Nota B
Número de Mensagens : 163
Data de inscrição : 20/04/2010
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sons tocarem aleatoriamente

Mensagem por Carlos L. em Sab 10 Dez 2011, 13:25

Aqui ta um jeito dele tocar a cada 10 segundos.

Código:
// Create.
// Armazena o Valor dos sons em arrays.
som[0] = sSom_1;
som[1] = sSom_2;
playSound = 0;

// Alarm
playSound += 1;

// Step.
alarm[0] = 30;
if (playSound == 10)
{
   if (sound_isplaying(som[0]))
   {
      sound_stop(som[0]);
      sound_play(som[1]);
   }
   else
   {
      sound_stop(som[1]);
      sound_play(som[0]);
   }
   playSound = 0;
}

// Outside View.
sound_stop(all);

flws.

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sons tocarem aleatoriamente

Mensagem por eubruno em Sab 10 Dez 2011, 19:07

pra fazer isso vc pode usar o random
Código:

//step
alarm[0]=random(floor(60))  // aqui vc coloca limite de tempo que quiser

//no alarm

sound_play(o som que vc quiser)


O codigo pode estar meio errado mas a lógica é essa
Para realizar o resto como checar se um som ja está tocando vc pode usar oq o Carlos disse ai em cima.
Espero ter ajudado

eubruno

Número de Mensagens : 27
Idade : 20
Data de inscrição : 06/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Sons tocarem aleatoriamente

Mensagem por saim em Sab 10 Dez 2011, 23:29

Tem uns probleminhas nesse código do Carlos L.
Primeiro, ele toca os sons alternadamente, não aleatoriamente. Depois, ele toca de dez em dez segundos, não em momentos aleatórios.
Isso é fácil de corrigir, mas eu preferiria partir pra uma lógica diferente.
// Create, muito parecido.
Código:
// Armazena o Valor dos sons em arrays.
som[0] = sSom_1;
som[1] = sSom_2;
naRoom = true;
sound_play(som[choose(0, 1)]); //escolhe um valor qualquer da array
temSomTocando = true;
alarm[0]=random_range(30*2, 30*10); //fica um tempo aleatório sem tocar
//step, totalmente diferente
Código:
if (naRoom && !temSomTocando){
  sound_play(som[choose(0, 1)]);
  alarm[0]=random_range(30*2, 30*10);
  }
e, no alarm:
Código:
if (!sound_isplaying(som[0]) && !sound_isplaying(som[1])){
  temSomTocando = false;
  }
  else alarm[0] = 1; //fica testando até retornar true

Deixo pra você resolver como administrar a variável naRoom. Usar o evento outside_room pra transformá-la em false parece uma boa, mas lembre-se de que depois ela terá que voltar a ser true.

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: Sons tocarem aleatoriamente

Mensagem por Conteúdo patrocinado Hoje à(s) 00:30


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