• 0
Sign in to follow this  
leidiane

Som Entre Cenas

Question

Pessoal

Estou fazendo uma animação em flash. A animação possui 7 cenas.

Na 2ª cena entra uma musica, que deveria rodar ate a ultima cena, seguida, como uma trilha sonora. Mas não estou conseguindo fazer. Vejam como estou fazendo:

Inseri um novo simbolo como movie clip, coloquei a musica nesse movie clipe.

Voltei para a Cena 02

Criei uma layer e inseri o movie clip nesse primeiro quadro.

beleza, funciona, a musica toca ate o final da cena 02. mas quando passa para a cena 03 ela pára.

Inserir uma nova layer com o movie clip na cena 03 não funciona porque a musica volta pro inicio e ela tinha que continuar...

Não tem jeito de fazer isso não?

alguém me da uma luz!?

ps.: Tenham paciencia porque estou aprendendo ainda :P rsss

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

na verdade não há necessidade de criar um movie clip e colocar a musica dentro dele, você pode criar uma camada nova na 2ª cena e arrastar a musica do biblioteca para o 1º frame dessa camada...

tenta assim, talvez seja mais tranqüilo.

Share this post


Link to post
Share on other sites
  • 0

então..

tentei não funcionou

acontece o mesmo problema, quando muda de cena a musica pára

eu coloco a musica no primeiro quadro, mas tenho que esticar os frames ate o fim da cena, mas aí vem o problema, quando muda de cena a layer não esta la mais e consequentemente a musica não roda....

Share this post


Link to post
Share on other sites
  • 0

então, quando você colocar a musica no 1º frame , abra o painel de propriedades, e coloque em sinc.:

evento (event)

assim, a musica continuara pelas cenas seguintes

Share this post


Link to post
Share on other sites
  • 0

Daeee Galera !!! Vou te passar algo muito interessa para resolver seu problema, trata-se da classe Sound. Com a classe Sound podemos adicionar um som no nosso filme Flash e controlá-lo. Neste tutorial vou mostrar-lhes como funciona alguns métodos da classe Sound e depois criaremos um simples player de MP3. Então vamos conhecer os métodos dos quais falaremos a respeito :

METODOS

Sound.attachSound(seu_som); - Anexa o som especificado nos parênteses. O som deve estar na biblioteca e com um linkage.

Sound.getBytesLoaded(); - Retorna o número de bytes carregados.

Sound.getBytesTotal(); - Retorna o número de bytes no total.

Sound.setPan(valor); - Define a distribuição direita/esquerda do som. Os valores vão de 100 a -100 onde 100 é usado para que o som saia na direita e -100 para que o som saia na esquerda, use 0 para que o som fique distribuído igualmente em ambos os lados.

Sound.getPan(); - Retorna o nível de pan definido na última chamada setPan.

Sound.setVolume(valor); - Define o nível de volume do som que vai de 0 a 100.

Sound.getVolume(); - Retorna o nível de volume do som.

Sound.loadSound(url, streaming); - Url é o local onde se encontra o som . mp3 a ser carregado. Streaming é um valor booleano (true/false), caso seja true o som será tocado enquanto vai sendo carregado, o Flash o armazena em buffer, se for false o Flash carrega todo o som e só depois o reproduz.

Sound.start(deslocamento em segundos, loops); - Deslocamento em segundos permite reproduzir um som de um ponto específico. Ex.: Se temos um som de 1:00 e queremos iniciá-lo a partir dos 30 segundos basta escrevermos Sound.start(30,loops);

Loops é o número de vezes que o som deve ser reproduzido consecutivamente.

Ex.: Sound.start(30,9999);

Ambos os parâmetros são opcionais.

Vale lembrar que no caso do som estar sendo carregado por streaming os loops não funcionam como deveriam, mas isso é algo fácil de se resolver e nós veremos mais a frente.

Sound.stop(); - Para o som especificado ou todos os sons que estiverem sendo reproduzidos no momento.

PROPRIEDADES

Sound.duration(); - Somente leitura. Retorna a duração de um som em milisegundos.

Sound.position(); - Somente leitura. Retorna a posição do som em milisegundos.

EVENTOS

Sound.onSoundComplete - Evento chamado automaticamente quando a reprodução do som é concluída.

Sound.onLoad - Evento chamado automaticamente quando o som é carregado.

Gostaria de lembrar que não mencionei todos os métodos, propriedades e eventos da classe Sound. Os demais deixarei para uma próxima oportunidade.

Agora que conhecemos a classe Sound podemos trabalhar um pouco com seus métodos.

MONTANDO SEU MP3 PLAYER

Crie um documento de flash novo;

No primeiro Frame, abra o painel de ações e escreva :

Caso queira carregar um som que esteja fora de seu documento flash, use esses comandos :

//Criando o objeto som
som = new Sound();
//Carregando o som
som.loadSound("arquivo.mp3", false);/*aqui carregamos o som arquivo .mp3 que está na mesma pasta que o nosso filme. Como você deve ter percebido o segundo parâmetro está false, ou seja, não estamos usando o streaming.*/
som.stop();/*aqui definimos que o som deve ficar parado, mas se você deseja que ele se inicialize sozinho, basta alterar esta parte por som.start(0,1);*/ 
Caso o som esteja na biblioteca, use estas funções :
//Criando o objeto som
som = new Sound();
//Carregando o som
Sound.attachSound("arquivo.mp3");/*aqui carregamos o som arquivo .mp3 que está na biblioteca do arquivo flash. Não se esquesa de fazer o linkage do som.*/
som.stop();/*aqui definimos que o som deve ficar parado, mas se você deseja que ele se inicialize sozinho, basta alterar esta parte por som.start(0,1);*/ 
Se você rodar o seu filme Flash verá que o som será tocado, mas ainda não podemos comandá-lo. Bom agora crie 3 botões (Play, Stop e Pause). Play - vai iniciar o nosso som quando clicado. Stop - vai parar o nosso som quando clicado. Pause - vai pausar o nosso som quando clicado. Agora vamos criar as ações nos botões, selecione o botão Pause, abra o painel de ações e coloque o seguinte:
on(release){//Quando realizado
som.pausa = som.position/1000;/*O som.pausa pega a posição atual do som. Dividimos por 1000 pois a posição está em milisegundos mas precisamos dela em segundos. */
som.stop();//Paramos a reprodução.
}
Você pode não estar entendendo, mas garanto que agora, quando fizermos o botão Play irá entender perfeitamente a lógica da coisa. Selecione o botão Play e no painel de ações coloque o seguinte:
on (release) {//Quando realizado 
if (som.pausa != null) {/* Damos uma condição: Se som.pausa for diferente (!) de nulo (0)*/
som.start(som.pausa, 0);/*Veja que o parâmetro Deslocamento em segundos se encontra som.pausa, ou seja, o ponto atual da reprodução do som. Isso faz com que o som seja continuado a partir do ponto de onde demos Pausa.*/ 
} else {//Caso o contrário 
som.start(0, 1);//Inicia o som com 0 de deslocamento e 1 loop. 
}
}Feito isso vamos ao botão Stop, portanto selecione-o e abra o painel de ações:on (release) {//Quando realizado 
som.stop();//Paramos a reprodução do som 
som.pausa = 0;/*Definimos o valor de som.pausa como 0. O motivo é bem simples, se não fizermos isso, quando clicarmos no botão Pause, o botão Stop perde sua funcionalidade pois ele vai pausar a música e não parar.*/ 
}
Bom, agora podemos controlar o som de certa forma. Mas seria bom se pudéssemos controlar o volume e o balanço, e quem sabe até mostrarmos o transcorrer da música. Mãos à obra. Agora em uma nova camada vamos criar dois campos de texto dinâmicos. O primeiro terá instância "vol_t" (sem aspas) e será o responsável em mostrar o nível de volume para nós. Ao lado do campo "vol_t" crie mais dois botões "+" e "-" (sem aspas). Faço o mesmo para o balanço mas coloque a instância do campo de "bal_t" (sem aspas). Agora vá novamente na primeira frame onde no começo colocamos as ações iniciais e adicione o seguinte:
//Criamos as variáveis com os valores de volume e balanço
var vol = 100;//O valor inicial do volume será 100, ou seja, o máximo.
var bal = 0;//O valor inicial do balanço será 0, ou seja, o som será distribuído em
//ambas as caixas de som. 
_root.onEnterFrame = function() {//Usamos o evento EnterFrame para que os 
//valores sempre se atualizem 
som.setVolume(vol);//Definimos o volume do som, o valor do volume está na 
//variável vol.
vol_t.text = vol;//Aqui mostramos o valor de vol no campo de texto vol_t 
som.setPan(bal);//Definimos o balanço do som, o valor do balanço está na 
// variável bal. 
bal_t.text = bal;//Aqui mostramos o valor de bal no campo de texto bal_t 
};
Agora só está faltando a nossa barra que indicará o transcorrer da música. Para isso crie em uma nova camada uma barra de tamanho x = 100. Transforme-a em um MC e a instâncie de "duracao" (sem aspas). Agora para que possamos redimensionar a barra sem que mudemos o seu valor (x = 100) selecione o MC e aperte F8 para criarmos mais um objeto do tipo MC com nome e instância de "barra_d" (sem aspas). Agora, na primeira frame, vamos inserir mais um código. Logo abaixo da linha bal_t.text = bal; coloque:
barra_d.duracao._xscale = som.position/som.duration*100;/* A escala de x da barra vai conforme o tempo que a música toca. Usamos o som.position dividido pelo som.duration para definir o tempo que se transcorreu a música.*/
O código completo fica assim:
//Criando o objeto som
som = new Sound();
//Carregando o som
som.loadSound("arquivo.mp3", false)/*aqui carregamos o som arquivo.mp3 que está na mesma pasta que o nosso filme. Como você deve ter percebido o segundo parâmetro está false, ou seja, não estamos usando o streaming.*/
som.stop();/*aqui definimos que o som deve ficar parado, mas se você deseja que ele se inicialize sozinho, basta alterar esta parte por som.start(0,1);*/ 

//Criamos as variáveis com os valores de volume e balanço
var vol = 100;//O valor inicial do volume será 100, ou seja, o máximo.
var bal = 0;//O valor inicial do balanço será 0, ou seja, o som será distribuído em
//ambas as caixas de som. 
_root.onEnterFrame = function() {//Usamos o evento EnterFrame para que os 
//valores sempre se atualizem 
som.setVolume(vol);//Definimos o volume do som, o valor do volume está na 
//variável vol.
vol_t.text = vol;//Aqui mostramos o valor de vol no campo de texto vol_t 
som.setPan(bal);//Definimos o balanço do som, o valor do balanço está na 
// variável bal. 
bal_t.text = bal;//Aqui mostramos o valor de bal no campo de texto bal_t 
barra_d.duracao._xscale = som.position/som.duration*100;/* A escala de x da barra vai conforme o tempo que a música toca. Usamos o som.position dividido pelo som.duration para definir o tempo que se transcorreu a música.*/
};
Como você viu, os valores de loop que definimos para som.start foram 1. Isso que dizer que a música se repetirá somente 1 vez. Se desejar que ela toque sempre, defina o valor como 9999, é o máximo permitido. Caso esteja carregando a música por streaming, para que ela se repita teremos de usar o evento som.onSoundComplete. O código com o streaming ficaria assim:
//Criando o objeto som
som = new Sound();
//Carregando o som
som.loadSound("arquivo.mp3", true)/*aqui carregamos o som arquivo.mp3 que está na mesma pasta que o nosso filme. Agora estamos usando o streaming.*/
som.stop();/*aqui definimos que o som deve ficar parado, mas se você deseja que ele se inicialize sozinho, basta alterar esta parte por som.start(0,1);*/ 

//Criamos as variáveis com os valores de volume e balanço
var vol = 100;//O valor inicial do volume será 100, ou seja, o máximo.
var bal = 0;//O valor inicial do balanço será 0, ou seja, o som será distribuído em
//ambas as caixas de som. 
_root.onEnterFrame = function() {//Usamos o evento EnterFrame para que os 
//valores sempre se atualizem 
som.setVolume(vol);//Definimos o volume do som, o valor do volume está na 
//variável vol.
vol_t.text = vol;//Aqui mostramos o valor de vol no campo de texto vol_t 
som.setPan(bal);//Definimos o balanço do som, o valor do balanço está na 
// variável bal. 
bal_t.text = bal;//Aqui mostramos o valor de bal no campo de texto bal_t 
barra_d.duracao._xscale = som.position/som.duration*100;/* A escala de x da barra vai conforme o tempo que a música toca. Usamos o som.position dividido pelo som.duration para definir o tempo que se transcorreu a música.*/
som.onSoundComplete = function(){/*Usamos o evento onSoundComplete para que quando o som chegue ao fim, se execute a função que fará a música tocar novamente, desta forma temos um loop infinito.*/
this.start(0,1);
}
};

Bom, é isso. Espero que tenham aproveitado e aprendido bastante com esta pequena explicação sobre a classe Sound. Agora meus amigos, basta vocês usarem sua criatividade.

Qualquer duvida me mandem uma MP !!! B)

(Tutorial baseado em um tutorial do Flash Masters)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this