18
set

Carregar audio mp3 externo e carregar audio em botões

Vimos como utilizar sons para trabalhar no Flash. Nesta lição veremos a possibilidade do som não precisar ser previamente importado para o filme, mas que isso seja feito através do ActionScript.
Vamos ver um exemplo que buscará um arquivo de som externo.
1- Crie uma nova layer e renomeie para “controlesom”.
2- Nessa layer desenhe dois botões: um que simbolize a Play e o outro o Stop.
3- Selecione o botão correspondente ao stop e transforme-o em um Button e instancieo para “parar”.
4- Selecione o botão correspondente ao play e transforme-o em um Button e instancieo para “tocar”.
Antes de programarmos os botões iremos carregá-lo externamente através de comandos em ActionScript.
5- Selecione o primeiro quadro da camada “acoes” e digite na primeira linha do painel Actions (F9):
var audio:Sound = new Sound();
Nesta linha criamos uma instância chamada áudio a partir da classe Sound,
responsável por trabalhar com som no Flash.
6- Após, em uma segunda linha digite:
Var endereco:URLRequest=new
URLRequest(“sons_site/som_site.mp3”);
audio.load(endereco);
Na primeira linha criamos uma instância chamada “endereço” a partir daclasse URLRequest que armazena o endereço para o arquivo que iremos carregar.
Na segunda linha, para a instância chamada “audio”carregamos o arquivo de som pelo método load.
O arquivo de som já esta carregado, mas só será executado quando mandarmos ele fazer isso.
7- Numa outra linha digite:
audio.play();
Agora sim, mandamos à instância chamada “audio” iniciar a reprodução do som
pelo método play( ).
8- Teste o filme e veja que o som será carregado e executado.
9- No painel Actions altere a linha:
audio.play();

Para:

var
canal_de_som:SoundChannel=audio.play(0,int.MAX_VALUE);
Continuamos a mandar que o arquivo seja executado pelo método play que agora contém uma constante, ou seja, nosso som irá repetir (quando chegar ao final). O método play foi associado a uma instância que foi criada chamada “canal_de_som”, do tipo SoundChannel.
10- Para fazermos o som parar digite no painel Action:
parar.addEventListener(MouseEvent.CLICK,paraSom);
function paraSom(evento:MouseEvent):void {
canal_de_som.stop();
}
12- Para fazermos o som tocar novamente digite:
tocar.addEventListener(MouseEvent.CLICK,tocaSom);
function tocaSom(evento:MouseEvent):void {
canal_de_som = audio.play(0,int.MAX_VALUE);
}
11- Teste o arquivo e veja seu funcionamento.

 

Inserindo áudio em botões

Podemos associar sons aos diversos estados de um símbolo de botão. Como os sons são armazenados junto com o símbolo, eles funcionam em todas as ocorrências do símbolo.
1- Crie um novo arquivo.
2- Arraste uma instância de botão para o palco do Flash através do menu: Window > Common Libraries > Buttons.
3- Dê um duplo clique em cima do botão para entrar em sua edição.
4- Crie uma nova layer renomeando-a para “som”. Insira um qaudro em cada estágio do botão.
5- Importe um som para a Library que está na pasta sons_botoes.
6- Selecione o estágio Down na camada som do botão e clique no item Sound opção Name selecionando o som do botão.
7- Teste o filme e veja que quando o botão é pressionado emite o som.

18
set

Rolagem de conteúdo no Flash CS5

A rolagem de conteúdo é muito utilizada quando temos mais informações que espaço disponível.
1- Abra o arquivo verao.fla
2- Crie uma layer e desenhe um retângulo com bordas no palco do Flash e renomeie a layer para “mask”.
3- Dê um duplo clique em cima da borda desta forma e leve-a para uma layer acima, que será chamada “borda”.
4- Crie uma layer acima de todos e dê o nome de “botoes”. Nesta layer desenhe dois triângulos posicionando-os como na imagem.
5- Clique em cima do triângulo de baixo e transforme esta forma em um símbolo do tipo Button.
6- Transforme o triângulo de cima em um símbolo do tipo Button, também.
7- Coloque o nome de instância do botão de baixo de “btdesce” e no botão de cima de “btsobe”.
8- Crie uma nova layer e dê o nome a ela de “mc”. Posicione esta layer abaixo de todas as outras, com exceção da layer “que tem o título”.
9- Na layer “mc” desenhe vários quadrados um abaixo do outro, fazendo com que eles fiquem para fora no quadrado desenhado na tela, juntamente com um texto.
10- Com todos os quadrados e textos selecionados transforme-os em um Movie Clip e dê o nome de instância para eles de “quadrado”.
11- Dê um duplo clique para entrar na edição deste Movie Clip. Selecione todos os quadrados e textos e transforme-os em um símbolo do tipo Graphic.
12- No frame 1 da layer crie uma interpolação de movimento. Desloque o símbolo como uma animação.
13- Crie uma nova camada e coloque um comando de Stop no seu primeiro frame.
14- Retorne para a cena principal.
15- Na camada “mask”crie uma máscara. Agora iremos programar nosso filme para que quando passarmos o mouse sobre os botões role o conteúdo que é o Movie Clip “quadrado” e quando tirarmos o mouse de cima dos botões o conteúdo pare. Para isso usaremos a ação nextFrame e prevFrame.
16- Crie uma nova camada acima de todas e renomei-a para “acoes”. Abra o painel Actions e digite:
btdesce.addEventListener(MouseEvent.ROLL_OVER,desce);
btdesce.addEventListener(MouseEvent.ROLL_OUT,desceRemove);
function desce(evento:MouseEvent):void{
quadrado.addEventListener(Event.ENTER_FRAME, desceFull);
}
function desceFull(evento:Event):void{
quadrado.nextFrame();
}
function desceRemove(evento:MouseEvent):void{
quadrado.removeEventListener(Event.ENTER_FRAME,
desceFull);
}
Para a instância chamada “quadrado” criamos um ouvinte (addEventListener) do tipo evento com atualização constante que será executado a quantidade de frames por segundo do nosso filme, executando uma função chamada “desceFull”.
Essa programação está aos moldes das outras que já fizemos. O que esta aparecendo de novo é a ação nextFrame que está sendo aplicada no símbolo “quadrado”, fazendo com que quando passarmos o mouse (MouseEvent.ROLL_OVER) sobre o botão “btdesce” executará a função desceFull que tem como parâmetro à ação nextFrame.

17- Repetiremos a mesma programação para o btn_sobe. Na próxima linha digite:
btsobe.addEventListener(MouseEvent.ROLL_OVER,sobe);
btsobe.addEventListener(MouseEvent.ROLL_OUT,sobeRemove);
function sobe(evento:MouseEvent):void{
quadrado.addEventListener(Event.ENTER_FRAME, sobeFull);
}
function sobeFull(evento:Event):void{
quadrado.prevFrame();
}
function sobeRemove(evento:MouseEvent):void{
quadrado.removeEventListener(Event.ENTER_FRAME,
sobeFull);
}
18- Teste o filme e veja a animação.