GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Sons tocarem aleatoriamente

4 participantes

Ir para baixo

Sons tocarem aleatoriamente Empty Sons tocarem aleatoriamente

Mensagem por Rod Sáb 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
Rod

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 20/04/2010
Reputação : 0
Número de Mensagens : 163
Prêmios : Sons tocarem aleatoriamente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Sons tocarem aleatoriamente Empty Re: Sons tocarem aleatoriamente

Mensagem por Carlos L. Sáb 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.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : Sons tocarem aleatoriamente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Sons tocarem aleatoriamente Empty Re: Sons tocarem aleatoriamente

Mensagem por eubruno Sáb 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
eubruno

Data de inscrição : 06/11/2011
Reputação : 1
Número de Mensagens : 27
Prêmios : Sons tocarem aleatoriamente Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Sons tocarem aleatoriamente Empty Re: Sons tocarem aleatoriamente

Mensagem por saim Sáb 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
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Sons tocarem aleatoriamente Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Sons tocarem aleatoriamente Empty Re: Sons tocarem aleatoriamente

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos